Android App开发者必修16堂课

综合评级:
★★★★★

定价:
¥88.00

作者:
赵令文 著

出版社:
化学工业出版社

出版日期:
2016年2月

页数:
396

字数:
527000

ISBN:
9787122244123

书籍介绍

本书用轻松易懂的语言和生动活泼的形式,介绍了Android App的开发技巧,主要内容包括:开发环境建置与基本使用、基本程序运行原理与应用、基本用户界面与事件触发、对话框与通知事件处理、进阶程序运行原理与应用、菜单与动作列处理、自定义View与Surface View、数据存取、因特网相关、影音多媒体与相机、地图与卫星定位系统、感应器运行原理及应用、资源与国际化、系统功能与装置控制、实际项目开发、App发布等。本书内容起点低、容易上手,范例经典,源代码步步解析,图文并茂,帮助初学者快速入门!本书非常适合Android App开发初学者、技术人员以及业余爱好者阅读使用。

目录

第1课 开发环境建置与基本使用 11-1 学习开发的基本概念 2 1-1-1 java语言的角色 2 1-1-2 Unix/Linux的文件系统 2 1-1-3 学习目标 31-2 安装JDK 31-3 安装Eclipse 41-4 设定Eclipse 51-5 安装设定Android SDK 8 1-5-1 在Eclipse外挂ADT 8 1-5-2 建立及使用仿真器 10第2课 基本程序运行原理与应用 132-1 “Hello,World?Hello,Lottery!” 14 2-1-1 建立新项目 14 2-1-2 版面配置 17 2-1-3 开发程序 20 2-1-4 安装执行测试 222-2 “BMI? Lottery!” 23 2-2-1 存取控制元件 23 2-2-2 按钮事件处理模式 24 2-2-3 开发设计功能 26 2-2-4 修改程序 272-3 写完了,然后呢? 28 2-3-1 加上欢迎界面 28 2-3-2 调整启动程序 312-4 Activity的生命周期 34 2-4-1 生命周期的观念 34 2-4-2 测试实作 36 2-4-3 开始观察 392-5 Activity切换Activity 40 2-5-1 仅作启动切换 40 2-5-2 传递数据过去 40 2-5-3 切换之后回来确认 41 2-5-4 将数据传递回来 422-6 Service的运行应用 44 2-6-1 生命周期实测 44 2-6-2 与线程共舞 48 2-6-3 通过Broadcast发送数据给前台 49第3课 基本用户界面与事件触发 533-1 条列显示元件ListView 54 3-1-1 基本格式 54 3-1-2 进阶格式 573-2 线性配置LinearLayout 593-3 相对配置RelativeLayout 633-4 表格配置TableLayout 683-5 网格显示GridView 713-6 滑动显示ViewFlipper 75第4课 对话框与通知事件处理 834-1 AlertDialog对话框的使用 84 4-1-1 建立AlertDialog对象 84 4-1-2 消息对话框 84 4-1-3 确认对话框 87 4-1-4 选择式对话框 89 4-1-5 进阶选择式对话框 924-2 自定义对话框(Dialog)与日期时间对话框 95 4-2-1 自定义对话框 95 4-2-2 日期选择对话框 99 4-2-3 时间选择对话框 1014-3 Toast及自定义Toast 103 4-3-1 一般的Toast 103 4-3-2 自定义Toast 1044-4 进度显示对话框 1074-5 通知列处理模式 110 4-5-1 版本差异 110 4-5-2 API Level 11 之前 111 4-5-3 API Level 11 111 4-5-4 应用场合 114第5课 进阶程序运行原理与应用 1155-1 多重线程Thread 116 5-1-1 开发重点观念 116 5-1-2 存取View组件 119 5-1-3 提早结束线程的生命周期 120 5-1-4 另外一种开发方式 1215-2 定时及周期任务(Timer & TimerTask) 1235-3 同步任务AsyncTask 126 5-3-1 使用观念 126 5-3-2 生命周期 126 5-3-3 定义泛型参数 128 5-3-4 基本开发程序 129 5-3-5 程序架构 1295-4 倒数定时器 133 5-4-1 开发模式 133 5-4-2 直接实作练习 133第6课 菜单与动作列处理 1376-1 菜单Menu 138 6-1-1 Options menu选项菜单(硬件菜单键) 138 6-1-2 Context menu内容菜单 141 6-1-3 Popup menu弹出式菜单 1456-2 动作列Action Bar 147第7课 自定义View与SurfaceView 1557-1 自定义View:继承View 1567-2 自定义View与触控手势事件处理 165 7-2-1 一般触控事件侦测处理 165 7-2-2 手势侦测事件处理 1667-3 自定义SurfaceView:继承SurfaceView 1707-4 以自定义View来实现手写签名App范例实作 174 7-4-1 前期准备 175 7-4-2 开始处理签名的手势侦测处理 177 7-4-3 处理外部功能 182第8课 数据存取 1858-1 偏好设定 186 8-1-1 处理方式 186 8-1-2 基本处理程序 186 8-1-3 范例说明 186 8-1-4 完整范例 1898-2 内部文件存取机制 191 8-2-1 使用观念 191 8-2-2 写出基本程序 191 8-2-3 读入基本程序 1938-3 外部文件存取 195 8-3-1 SDCard文件系统基本概念 195 8-3-2 判断SDCard的挂载点(Mount Point) 196 8-3-3 应用程序文件应该在哪里 196 8-3-4 开启写出数据的权限 196 8-3-5 开始进行程序开发 198 8-3-6 写出数据文件 198 8-3-7 读入数据文件 1998-4 移动装置数据库处理机制SQLite 200 8-4-1 建立数据库的辅助类别对象 200 8-4-2 预先处理模式 200 8-4-3 简单查询数据 202 8-4-4 新增数据 203 8-4-5 删除数据 203 8-4-6 修改数据 204 8-4-7 进一步了解查询方式 2048-5 应用App资源中的数据存取数据:以游戏关卡数据处理为例 205 8-5-1 定义数据 206 8-5-2 读取数据文件 207 8-5-3 程序中读取方式 207第9课 因特网相关 2099-1 网络接口及IP Address 210 9-1-1 装置的网络状态 210 9-1-2 网络接口的IP Address 210 9-1-3 取得装置联机IP Address 212 9-1-4 建构IP Address对象实体 2139-2 UDP 通信协议的数据存取 214 9-2-1 处理模式 214 9-2-2 实作测试 2149-3 TCP通信协议的数据存取 220 9-3-1 处理模式 220 9-3-2 实作测试 2209-4 Http通信协议的数据存取 225 9-4-1 以AndroidHttpClient及DefaultHttpClient实作 225 9-4-2 以java.net.HttpURLConnection实作 2289-5 WebView使用 229 9-5-1 基本的处理方式——直接放进Activity中 229 9-5-2 基本的处理方式——以版面配置方式处理 230 9-5-3 进一步设定WebView功能 236第10课 影音多媒体与相机 24310-1 播放音乐 244 10-1-1 基本概念 244 10-1-2 SDCard上的音乐播放 245 10-1-3 播放项目资源中音乐文件 247 10-1-4 播放URL的音乐文件 247 10-1-5 暂停继续播放 248 10-1-6 停止播放 24810-2 音效处理 249 10-2-1 建构SoundPool对象实体 249 10-2-2 实时播放音效 25010-3 录音处理 250 10-3-1 调用其他录音程序 251 10-3-2 自定义录音处理程序 25210-4 录像放映 254 10-4-1 录像 254 10-4-2 调用其他录像程序 254 10-4-3 自定义录像程序 256 10-4-4 播放影片 25810-5 相机 259 10-5-1 调用其他照相程序 259 10-5-2 自定义相机程序 261第11课 地图与卫星定位系统 26711-1 GPS定位 268 11-1-1 开始基本实作 268 11-1-2 较佳位置取得 27011-2 基本Google Map 275 11-2-1 开发前期作业 276 11-2-2 Hello,Map 277 11-2-3 在Android上开发的应用 27911-3 进阶Google Map 280 11-3-1 Javascript处理说明 280 11-3-2 JavaScript数据传回Android 282 11-3-3 以Android传递数据给JavaScript 283第12课 传感器运行原理及应用 28512-1 传感器运行原理与应用 286 12-1-1 基本概念 286 12-1-2 处理原则 286 12-1-3 实作开发 287 12-1-4 用户装置支持处理 28812-2 三轴加速传感器 28912-3 重力加速度传感器 29312-4 磁极方向传感器 29612-5 光线/温度/湿度/压力传感器 300第13课 资源与国际化 30513-1 提供资源内容 307 13-1-1 预设资源内容及架构 307 13-1-2 替代选择性资源内容 30913-2 存取资源内容 311 13-2-1 程序代码中存取资源内容 312 13-2-2 XML中存取资源内容 31313-3 应用程序执行中的改变 314 设计一个保留及回存对象 31413-4 资源内容的区域化 314 13-4-1 支持的区域国别(地区) 315 13-4-2 进一步认识项目资源 316 13-4-3 资源类型 322 13-4-4 区域化确认检查 323第14课 系统功能与装置控制 32514-1 移动装置相关辨识 32614-2 移动电话通话状态 32814-3 移动电话用户相关数据 330 14-3-1 用户账号 330 14-3-2 取得联系人姓名 331 14-3-3 用户的相簿 33214-4 开发者基本道德 332第15课 实际项目开发 33515-1 弹指砖块王(Bricks Fighter) 336 15-1-1 App简易架构 337 15-1-2 欢迎页面 337 15-1-3 游戏关卡菜单 339 15-1-4 游戏主页 34415-2 掏金沙(Lode Runner) 353 15-2-1 开发动机 353 15-2-2 着手规划 354 15-2-3 游戏架构 355 15-2-4 关卡菜单 358 15-2-5 游戏画面 359 15-2-6 关卡地图 362 15-2-7 敏感争议 37115-3 炸弹超人(Bomb King) 37115-4 其他应用程序开发项目 374 15-4-1 个性签名产生器 374 15-4-2 开发观念原则 386第16课 App发布 38716-1 包装发布到Google Play 388 16-1-1 包装成为APK 388 16-1-2 首次注册开发者 390 16-1-3 发布APK到Google Play 39216-2 App创意开发与比赛经验心得分享 393

前言

笔者从事Android App开发的实务教学已经三年多了,这三年多来的变化也相当多。不只是开发工具或是API上的变化,还有App市场上的变化。现在的您还在玩Angry Bird吗?还是开始换玩Candy Crush了?之前Google play在台湾地区消费市场上的风风雨雨,终于又可以开始贩卖购买付费App了,三年前相关单位办了一场“一千五百万创意成金”活动,只要提案通过审核并如期上架,一个App就可能获得3万~8万元奖金(敝人也提了三个App获得奖金),而现在的市场机制没有这样的活动了,转变为鼓励的是质量较佳的App。敝人也从教育训练市场间接看到就业市场上的需求不断攀升。很多初学者想要快速学习Android App的开发,却往往适得其反,虽然相关学习资料很多,但是大部分都是片段的技术数据。可能很容易找到如何发出通知消息的知识,却不知该如何应用或是做出不同的变化;找到数据并将程序代码复制后可以反转手机变成静音,不知如何运用手机传感器成为方向控制器等。相信我,你可以找到成千上万的Android App开发秘诀,但是也许并不适合初学者的学习。除非你知道每一行程序代码的存在意义,否则复制粘贴是糟糕的学习模式。我的上课模式不会有幻灯片,也没有事先写好的程序代码,就是从项目建立开始开发,写出来的每一行代码都要清楚在做什么,观念的建立非常重要,观念清楚之后,想要做出不同的变化就不成问题了。因此,本书希望可以将初学者导向建立观念式学习模式,不是提供片断的秘诀而已。书中后专题范例就是2012年在“资策会”移动装置开发班的Android游戏开发课程中以12小时授课时间,从项目建立开始实际开发,再利用课后时间进行修正微调后的作品,获得了2012年某电信社会组优胜作品的殊荣。我不是专家,只是爱玩而已。2011年以改编Lode Runner经典游戏参加其他比赛,专家评审建议加上自编关卡网络分享功能,可以使这个App有加分效果。当下敝人极度不同意,因为这样的行为表面看似增加玩家之间的互动,事实上却增加玩家游戏的潜藏隐私安全性风险。后为了继续参赛而将该功能开发上去,并在电视上展现实时分享功能。赛后自行另外以原先版本约晚三个月在Google play上架发行。一年半过去,单纯游戏版本的实际安装数量已经是网络分享版本数量的两倍以上。后以此书献给挚爱的家父赵光明先生与家母谢宝秀女士,他们奉献毕生心力于教育事业。投身教育训练的敝人正是受到他们不断的鼓励指导,才能完成此拙著。当然,也要感谢陪伴我赶稿的老婆,及帮我测试玩App游戏的孩子们。另外,更是感谢协助处理App视觉艺术部分的墨比斯-云云手。赵令文Brad  2013.5.4

课课家教育

未登录