资源名称:Android开发秘籍 第2版

内容简介:

Ronan Schwarz是Openlntents创始人之一,从2007年起就开始构建Android应用。他帮助创建了SplashPlay和Droidspray,它们在Android开发者挑战赛的决赛上名列前茅。

Phil Dutson是ICON Health and Fitness首席电子商务开发人员。他著有Sams Teach Yourself jQuery Mobile in 24 Hours一书。

James Steele是Sensor Platforms工程副总裁,致力于帮助应用开发者更轻松地利用用户动作和上下文信息。

Nelson To已经在Google Play上发布了许多应用。他为Think Computer股份有限公司、AOL(AIM)、斯坦福大学和罗技公司等进行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

资源截图:

Android开发秘籍 第2版