Android开发秘籍.pdf

Android开发秘籍.pdf
 

书籍描述

内容简介
《Android开发秘籍(第2版)》秉承“一个清晰可用的范例,胜过千言的文档”的原则,以一百多个范例为骨架,将知识、技巧和理念融入其中,从零开始,介绍了Android移动开发的方方面面。从Android及其设备的发展、Android项目的建立等入门内容,到Activity、Intent、视图、线程、服务、用户界面布局、事件等基本要素,再到多媒体、硬件接口、网络、位置服务、应用内计费、消息推送等高级特性,最后还介绍了原生开发、测试与调试。《Android开发秘籍(第2版)》致力于让读者充分理解和利用Android的各种特性,并十分强调设备与版本的兼容性、代码的复用性、项目的健壮性、方法的多样性等良好的开发理念。
  《Android开发秘籍(第2版)》的内容由浅入深,方便Android开发初学者上手;书中介绍的技巧彼此相关又相对独立,因此也适合有一定经验的开发者查阅参考。

编辑推荐
无论你刚刚开始着手构建当今第一大移动平台Android上的应用程序,还是你已经构建过Android应用程序想更上一层楼,本书都将为你提供所需的专业指导和实现代码。

这一版与第1版相比做了大量的更新,增加了高级线程和UI开发、应用内计费、推送消息和原生开发等全新章节,还介绍了访问NFC硬件、使用Google云消息等各种新技术。

书中的一百多个技巧堪称面面俱到,将引领你从入门直到精通,帮助你将最新的Android API和工具的功效发挥得淋漓尽致。作者对代码示例进行了彻底的更新,使其能够为你的项目和组件服务。阅读本书,你将会学到最实用的技术,从而高效地解决常见的问题,避开项目开发生命周期中的各种陷阱。

媒体推荐
《Android开发秘籍(第2版)》包含了关于如何开发和营销一个成功的Android应用的各种技巧。每一个技巧都含有详细的解释和示例,讲解怎样正确地编写程序,使其能成为Google Play Store 上别具一格的应用。以理解不同Android版本的基本特征、从而设计和构建出能适应这些不同的应用为开端,本书将教授诸多引领你走上成功之路的开发技巧。你将学会在Android系统的不同层面上进行工作,从使用硬件接口(如NFC和USB),到能够指明如何有效地使用移动数据的网络接口,甚至还包括如何利用Google强大的计费接口(billing interface)。几位作者工作的杰出之处在于,他们为书中每个概念都配上了实用的、与现实生活息息相关的代码示例,这些示例可以被轻而易举地构建,并适用于各种各样的情况,使得本书成为一切Android开发者案头必备之书。
——David Brown,圣胡安(San Juan)学区信息数据管理员兼应用程序开发员

清晰易读、通俗易懂,但并非平淡无奇。这是我读过的Android开发领域书籍中最好的作品之一。如果你已经有了一定的基础,那么书中的技巧一定会引领你迈向大师的行列。
——Casey Doolittle,Icon Health and Fitness首席Java开发者

《Android开发秘籍(第2版)》提供了出类拔萃的Android开发基础知识。书中教授了诸如布局、Android生命周期及基于多种多线程技术的响应性等内容,这些都是你成为Android达人所必需的。
——Kendell Fabricius,自由Android开发者

每个人从本书中都能得到需要的东西。我自从1.0版起就从事Android编程,但仍从本书中学到了前所未见的东西。
——Douglas Jones,Fullpower Technologies高级软件工程师

作者简介
Ronan “Zero” Schwarz是OpenIntents的创始人之一。OpenIntents是一家以欧洲为基地、专门从事Android开发的开源软件公司。Ronan拥有超过15年的编程经验,且涉足诸多领域,如增强现实(augmented reality)、Web、机器人学、商业系统等,以及包括C、Java、Assembler等在内的多种编程语言。他从2007年起就开始从事Android平台开发工作,在其他方面,还协助创建了SplashPlay和Droidspray,它们分别入围第一届和第二届Android开发者挑战赛(Android Developer Challenge)的决赛圈,并名列前茅。

Phil Dutson是ICON Health and Fitness的首席用户体验(UX)和移动开发员。他曾为NordicTrak、ProForm、Freemotion、Sears、Costco、Sam’s Club及其他一些单位开发项目和提供解决方案。多年以来,他使用、修改和编写了许多移动设备(从他拥有的第一台Palm Pilot 5000 到现在手头的iOS和Android设备)上的程序。Phil还著有jQuery, JQueryUI and jQuery Mobile、Sams Teach Yourself jQuery Mobile in 24 Hours和Creating QR and Tag Codes等书籍。

James Steele曾经是麻省理工学院(MIT)的一名物理学博士后,但在硅谷初创时就投身其中。15年后的今天,他还在不断地推出创新成果,将消费者市场和移动市场上的若干研究项目转化为产品。他活跃在硅谷的多个技术创新团体中,并且是Sensor Platforms的工程副总裁。

Nelson To在Android Market上发布的由他自己开发的应用数量已达到两位数。他还从事Android企业化应用工作,涉及Think Computer股份有限公司的PayPhone、AOL的AIM、斯坦福大学(Stanford University)的Education App和罗技公司(Logitech)的Google TV等产品。此外,他还协助组织了硅谷的Android Meetup社区,并在美国湾区和中国讲授Android课程。

目录
目 录

第1章 Android概览 1
1.1 Android的演化 1
1.2 Android的两面性 2
1.3 运行Android的设备 2
1.3.1 HTC系列机型 4
1.3.2 摩托罗拉系列机型 5
1.3.3 三星系列机型 5
1.3.4 平板电脑 5
1.3.5 其他设备 6
1.4 Android设备间的硬件差异 7
1.4.1 屏幕 7
1.4.2 用户输入法 7
1.4.3 传感器 8
1.5 Android的特性 9
1.5.1 多线程应用微件 9
1.5.2 触摸、手势和多点触摸 9
1.5.3 硬键盘和软键盘 10
1.6 Android开发 10
1.6.1 良好的应用设计 10
1.6.2 保持向前兼容 10
1.6.3 确保健壮性 11
1.7 软件开发工具包(SDK) 11
1.7.1 安装和升级 11
1.7.2 软件特性和API级别 12
1.7.3 用模拟器或Android设备进行调试 13
1.7.4 使用Android调试桥 14
1.7.5 签名和发布 15
1.8 Google Play 15
1.8.1 最终用户许可协议 15
1.8.2 提升应用的曝光度 16
1.8.3 让应用脱颖而出 16
1.8.4 为应用收费 16
1.8.5 管理评价和更新 18
1.8.6 Google Play以外的其他选择 18

第2章 应用程序基础:Activity和Intent 19
2.1 Android应用程序概览 19
技巧1:创建项目和Activity 20
2.1.1 项目目录结构及自动生成的内容 22
2.1.2 Android包和manifest文件 24
技巧2:重命名应用程序的某些部分 25
技巧3:使用库项目 26
2.2 Activity的生命周期 27
技巧4:使用Activity生命周期函数 28
技巧5:强制采用单任务模式 30
技巧6:强制规定屏幕方向 30
技巧7:保存和恢复Activity信息 31
技巧8:使用Fragment 32
2.3 多个Activity 33
技巧9:使用按钮和文本视图 33
技巧10:通过事件启动另外一个Activity 34
技巧11:通过使用语音转文本功能启动一个Activity 37
技巧12:实现选择列表 39
技巧13:使用隐式Intent创建Activity 40
技巧14:在Activity间传递基本数据类型 41

第3章 线程、服务、接收器和警报 44
3.1 线程 44
技巧15:启动一个辅助线程 44
技巧16:创建实现Runnable接口的Activity 47
技巧17:设置线程的优先级 48
技巧18:取消线程 49
技巧19:在两个应用程序间共享线程 49
3.2 线程间的消息机制:Handler 50
技巧20:从主线程调度Runnable型的任务 50
技巧21:使用倒数计时器 52
技巧22:处理耗时的初始化工作 53
3.3 警报 54
技巧23:利用Toast在屏幕上显示一条简单的信息 54
技巧24:使用AlertDialog对话框 55
技巧25:在状态栏中显示通知 56
3.4 服务 60
技巧26:创建自足式服务 61
技巧27:添加唤醒锁 64
技巧28:使用前台服务 66
技巧29:使用IntentService 68
3.5 广播接收器 70
技巧30:当按下拍照按钮时启动一个服务 71
3.6 应用微件 72
技巧31:创建应用微件 73

第4章 高级线程技术 75
4.1 装载器 75
技巧32:使用CursorLoader 75
4.2 AsyncTask 77
技巧33:使用AsyncTask 77
4.3 Android进程间通信 79
技巧34:实现远程过程调用 79
技巧35:使用Messenger 83
技巧36:使用ResultReceiver 89

第5章 用户界面布局 91
5.1 资源目录和常规属性 91
技巧37:指定替代资源 93
5.2 View和ViewGroup 94
技巧38:用Eclipse编辑器生成布局 94
技巧39:控制UI元素的宽度和高度 97
技巧40:设置相对布局和布局ID 99
技巧41:通过编程声明布局 101
技巧42:通过独立线程更新布局 102
5.3 文本操作 104
技巧43:设置和改变文本属性 105
技巧44:提供文本输入 107
技巧45:创建表单 108
5.4 其他微件:从按钮到拖动条 109
技巧46:在表格布局中使用图像按钮 109
技巧47:使用复选框和开关按钮 112
技巧48:使用单选按钮 115
技巧49:创建下拉菜单 115
技巧50:使用进度条 117
技巧51:使用拖动条 119

第6章 用户界面事件 121
6.1 事件处理器和事件监听器 121
技巧52:截取物理按键事件 121
技巧53:构建菜单 124
技巧54:在XML文件中定义菜单 128
技巧55:创建操作栏 129
技巧56:使用ActionBarSherlock 132
技巧57:使用搜索键 134
技巧58:响应触摸事件 135
技巧59:监听滑动手势 137
技巧60:使用多点触控 138
6.2 高级用户界面库 141
技巧61:使用手势 141
技巧62:绘制3D图像 144

第7章 高级用户界面技术 148
7.1 Android自定义视图 148
技巧63:自定义按钮 148
7.2 Android动画 153
技巧64:创建动画 154
技巧65:使用属性动画 157
7.3 辅助功能 159
技巧66:使用辅助功能特性 159
7.4 Fragment 161
技巧67:同时显示多个Fragment 161
技巧68:使用对话框Fragment 165

第8章 多媒体技术 167
8.1 图像 169
技巧69:装载和显示一幅可供操作的图像 170
8.2 音频 174
技巧70:选择和播放音频文件 174
技巧71:录制音频文件 177
技巧72:操作原始音频 178
技巧73:有效利用声音资源 182
技巧74:添加媒体并更新路径 183
8.3 视频 184
技巧75:使用VideoView 184
技巧76:使用MediaPlayer播放视频 185

第9章 硬件接口 187
9.1 摄像头 187
技巧77:自定义摄像头 187
9.2 其他传感器 192
技巧78:获取设备的旋转姿态 192
技巧79:使用温度传感器和光传感器 195
9.3 电话 196
技巧80:使用电话管理器 196
技巧81:监听电话状态 198
技巧82:拨叫一个号码 200
9.4 蓝牙 200
技巧83:开启蓝牙 201
技巧84:发现蓝牙设备 201
技巧85:与已绑定的蓝牙设备配对 202
技巧86:打开蓝牙套接字 202
技巧87:使用设备振动功能 204
技巧88:访问无线网络 205
9.5 近场通信(NFC) 206
技巧89:读取NFC标签 207
技巧90:写入NFC标签 208
9.6 通用串行总线(USB) 210

第10章 网络 212
10.1 响应网络状态 212
技巧91:检查网络连接 212
技巧92:接收连接变化信息 214
10.2 使用短消息 215
技巧93:收到短消息后自动回复 217
10.3 使用Web内容 222
技巧94:自定义Web浏览器 223
技巧95:使用HTTP GET请求 223
技巧96:使用HTTP POST请求 227
技巧97:使用WebView 227
技巧98:解析JSON 229
技巧99:解析XML 231
10.4 社交网络 232
技巧100:读取所有者设定档 233
技巧101:与Twitter集成 233
技巧102:与Facebook集成 240

第11章 数据存储方法 242
11.1 shared preference 242
技巧103:创建和检索shared preference 243
技巧104:使用preference框架 243
技巧105:基于存储的数据改变用户界面 245
技巧106:添加最终用户许可协议 248
11.2 SQLite数据库 250
技巧107:创建一个独立的数据库包 251
技巧108:使用独立的数据库包 253
技巧109:创建个人日记 256
11.3 内容提供器 259
技巧110:创建自定义的内容提供器 260
11.4 文件的保存和载入 264
技巧111:使用AsyncTask进行异步处理 264

第12章 基于位置的服务 267
12.1 位置服务基础 267
技巧112:检索最近保存的位置 269
技巧113:在位置改变时更新信息 269
技巧114:列出所有可用的提供器 271
技巧115:将位置转化为地址(逆向地理编码) 273
技巧116:将地址转化为位置(地理编码) 274
12.2 使用Google地图 276
技巧117:向应用程序中添加Google地图 278
技巧118:为地图添加标记 280
技巧119:向地图上添加视图 283
技巧120:设置临近警告 285
12.3 使用Little Fluffy位置库 286
技巧121:使用Little Fluffy位置库添加通知 287

第13章 应用内计费 290
Google Play应用内计费 290
技巧122:安装Google的应用内计费服务 291
技巧123:为Activity添加应用内计费机制 292
技巧124:列出应用内可购买的项目清单 293

第14章 推送消息 295
14.1 Google云消息设置 295
技巧125:准备Google云消息 295
14.2 发送和接收推送信息 297
技巧126:准备manifest 297
14.3 接收消息 298
技巧127:添加BroadcastReceiver类 299
技巧128:添加IntentService类 299
技巧129:注册设备 301
14.4 发送消息 301
技巧130:发送文本消息 302
技巧131:通过AsyncTask发送消息 303

第15章 原生Android开发 305
Android原生组件 305
技巧132:使用Java原生接口 306
技巧133:使用NativeActivity 308

第16章 测试和调试 313
16.1 Android测试项目 313
技巧134:创建测试项目 313
技巧135:在Android上加入单元测试 316
技巧136:使用Robotium 316
16.2 Eclipse内建测试工具 317
技巧137:指定运行配置 317
技巧138:使用DDMS 318
技巧139:借助断点进行调试 320
16.3 Android SDK调试工具 322
技巧140:开启和终止Android调试桥 322
技巧141:使用LogCat 322
技巧142:使用Hierachy Viewer 324
技巧143:使用TraceView 326
技巧144:使用lint 327
16.4 Android系统调试工具 329
技巧145:设置GDB调试 331

附录A 使用OpenIntents Sensor Simulator 333
附录B 使用兼容包 337
附录C 使用持续集成系统 344
附录D Android操作系统发布版本一览 346

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多