• 第1 章 Android 概述 1
  • 1.1 Android 演化史 1
  • 1.2 Android 的两面性 2
  • 1.3 运行Android 的设备 2
  • 1.3.1 HTC 系列机型 4
  • 1.3.2 摩托罗拉系列机型 4
  • 1.3.3 三星系列机型 4
  • 1.3.4 平板电脑 5
  • 1.3.5 其他设备 5
  • 1.4 Android 设备的硬件差异 5
  • 1.4.1 屏幕 5
  • 1.4.2 用户输入方式 6
  • 1.4.3 传感器 6
  • 1.5 Android 的特点 8
  • 1.5.1 多进程和应用程序微件 8
  • 1.5.2 触摸、手势和多点触控 8
  • 1.5.3 硬键盘和软键盘 8
  • 1.6 Android 开发 8
  • 1.6.1 如何使用本书中的秘诀 8
  • 1.6.2 好好设计应用程序 9
  • 1.6.3 保持向前兼容 9
  • 1.6.4 健壮性 10
  • 1.7 软件开发工具包 10
  • 1.7.1 安装与更新 10
  • 1.7.2 软件特性和API 级别 11
  • 1.7.3 利用模拟器或真机调试程序 12
  • 1.7.4 使用Android 调试桥 13
  • 1.7.5 签名和发布应用 14
  • 1.8 Android Market 14
  • 1.8.1 最终用户许可协议 14
  • 1.8.2 提升应用程序的曝光率 15
  • 1.8.3 脱颖而出 15
  • 1.8.4 为应用程序收费 15
  • 1.8.5 管理评论和更新 16
  • 1.8.6 Android Market 的候补之选 17
  • 第2 章 应用程序基础知识:activit...
  • 2.1 Android 应用程序预览 18
  • 2.1.1 秘诀1:创建工程并新建activ...
  • 2.1.2 工程目录结构及自动生成内容 20
  • 2.1.3 Android 包和Manifest 清单...
  • 2.1.4 重命名应用程序中的部分文件 23
  • 2.2 Activity 的生命周期 23
  • 2.2.1 秘诀2:使用其他的生命周期...
  • 2.2.2 秘诀3:强制执行单任务模式 26
  • 2.2.3 秘诀4:强制屏幕方向 26
  • 2.2.4 秘诀5:保存和恢复activity...
  • 2.3 多个activity 28
  • 2.3.1 秘诀6:使用按钮和文本框 28
  • 2.3.2 秘诀7:通过事件启动另外一...
  • 2.3.3 秘诀8:将语音转换成文本并...
  • 2.3.4 秘诀9:实现选择列表 34
  • 2.3.5 秘诀10:使用隐式intent 创...
  • 2.3.6 秘诀11:在activity 间传递...
  • 第3 章 线程、服务、receiver 以及...
  • 3.1 线程 40
  • 3.1.1 秘诀12:启动一个辅助线程 40
  • 3.1.2 秘诀13:创建实现runnable接...
  • 3.1.3 秘诀14:设置线程优先级 45
  • 3.1.4 秘诀15:取消线程 45
  • 3.1.5 秘诀16:在两个应用程序之间...
  • 3.2 线程之间的消息机制:handler 46
  • 3.2.1 秘诀17:从主线程调度runnab...
  • 3.2.2 秘诀18:使用倒数计时器 49
  • 3.2.3 秘诀19:处理耗时的初始化工...
  • 3.3 服务 51
  • 3.4 添加broadcast receiver 56
  • 3.5 应用微件 58
  • 3.6 alert 对话框 60
  • 3.6.1 秘诀23:使用Toast 在屏幕上...
  • 3.6.2 秘诀24:使用alert 对话框 61
  • 3.6.3 秘诀25:在状态栏中显示通知 62
  • 第4 章 用户界面布局 65
  • 4.1 资源目录及其基本属性 65
  • 4.2 view 和viewGroup 67
  • 4.2.1 秘诀27:利用Eclipse 编辑器...
  • 4.2.2 秘诀28:控制UI 元素的宽度...
  • 4.2.3 秘诀29:设置相对布局和布局...
  • 4.2.4 秘诀30:通过编程声明布局 74
  • 4.2.5 秘诀31:使用独立线程更新布...
  • 4.3 文本操作 78
  • 4.3.1 秘诀32:设置和更改文本属性 79
  • 4.3.2 秘诀33:提供文本输入 81
  • 4.3.3 秘诀34:创建表单 82
  • 4.4 其他控件:从按钮到拖动条 83
  • 4.4.1 秘诀35:在表格布局中使用图...
  • 4.4.2 秘诀36:使用复选框和开关按...
  • 4.4.3 秘诀37:使用单选按钮 90
  • 4.4.4 秘诀38:创建下拉菜单 90
  • 4.4.5 秘诀39:使用进度条 92
  • 4.4.6 秘诀40:使用拖动条 94
  • 第5 章 用户界面事件 97
  • 5.1 事件处理器和事件监听器 97
  • 5.1.1 秘诀41:截取物理按键事件 97
  • 5.1.2 秘诀42:创建菜单 100
  • 5.1.3 秘诀43:在XML 文件中定义菜...
  • 5.1.4 秘诀44:使用搜索键 105
  • 5.1.5 秘诀45:响应触摸事件 107
  • 5.1.6 秘诀46:监听滑动手势 109
  • 5.1.7 秘诀47:使用多点触控 110
  • 5.2 高级用户界面库 113
  • 5.2.1 秘诀48:使用手势 114
  • 5.2.2 秘诀49:绘制3D 图像 117
  • 第6 章 多媒体技术 122
  • 6.1 图像 123
  • 6.2 音频 128
  • 6.2.1 秘诀51:选取和播放音频文件...
  • 6.2.2 秘诀52:录制音频文件 131
  • 6.2.3 秘诀53:处理原始音频 132
  • 6.2.4 秘诀54:有效使用音频资源 136
  • 6.2.5 秘诀55:添加媒体资源并更新...
  • 6.3 视频 138
  • 第7 章 硬件接口 140
  • 7.1 照相机 140
  • 7.2 其他传感器 145
  • 7.2.1 秘诀57:获取设备旋转姿态 146
  • 7.2.2 秘诀58:使用温度传感器和光...
  • 7.3 电话 150
  • 7.3.1 秘诀59:使用电话管理器 150
  • 7.3.2 秘诀60:监听电话状态 152
  • 7.3.3 秘诀61:拨打电话号码 154
  • 7.4 蓝牙 154
  • 7.4.1 秘诀62:打开蓝牙 155
  • 7.4.2 秘诀63:搜索蓝牙设备 155
  • 7.4.3 秘诀64:与已绑定的蓝牙设备...
  • 7.4.4 秘诀65:打开蓝牙套接字 156
  • 7.4.5 秘诀66:使用设备振动功能 159
  • 7.4.6 秘诀67:访问无线网络 159
  • 第8 章 网络通信 161
  • 8.1 使用短信息 161
  • 8.2 使用Web 内容 169
  • 8.2.1 秘诀69:定制Web 浏览器 169
  • 8.2.2 秘诀70:使用HTTP GET请求 170
  • 8.2.3 秘诀71:使用HTTP POST请求 174
  • 8.3 社交网络 174
  • 第9 章 数据存储方法 184
  • 9.1 shared preferences 184
  • 9.1.1 秘诀73:创建和检索sharedpr...
  • 9.1.2 秘诀74:使用preferences框...
  • 9.1.3 秘诀75:基于Stored Data改...
  • 9.1.4 秘诀76:添加最终用户许可协...
  • 9.2 SQLite 数据库 194
  • 9.2.1 秘诀77:创建一个独立的数据...
  • 9.2.2 秘诀78:使用独立的数据库包...
  • 9.2.3 秘诀79:创建个人日记 200
  • 9.3 内容提供器 204
  • 9.4 保存和载入文件 209
  • 第10 章 基于位置的服务 210
  • 10.1 位置服务入门 210
  • 10.1.1 秘诀81:获取最新位置 212
  • 10.1.2 秘诀82:在位置改变时更新...
  • 10.1.3 秘诀83:列出所有可用的提...
  • 10.1.4 秘诀84:将位置解析为地址...
  • 10.1.5 秘诀85:将地址解析为位置...
  • 10.2 使用谷歌地图 220
  • 10.2.1 秘诀86:在应用程序中添加...
  • 10.2.2 秘诀87:在地图上添加标记 224
  • 10.2.3 秘诀88:在地图上添加视图 228
  • 10.2.4 秘诀89:在地图上标记设备...
  • 10.2.5 秘诀90:设置临近警告 231
  • 第11 章 Android 高级开发技术 232
  • 11.1 Android 的自定义视图 232
  • 11.2 Android 的原生组件 238
  • 11.3 Android 的安全机制 241
  • 11.4 Android 的进程间通信 242
  • 11.5 Android 的备份管理器 247
  • 11.5.1 秘诀95:备份运行时数据 247
  • 11.5.2 秘诀96:备份文件到云端 248
  • 11.5.3 秘诀97:触发备份与还原操...
  • 11.6 Android 的动画功能 250
  • 第12 章 调试 255
  • 12.1 Eclipse 内置的调试工具 255
  • 12.1.1 秘诀99:设置运行配置 255
  • 12.1.2 秘诀100:使用DDMS 256
  • 12.1.3 秘诀101:断点调试 257
  • 12.2 Android SDK 中的调试工具 258
  • 12.2.1 秘诀102:使用Android Debu...
  • 12.2.2 秘诀103:使用LogCat 工具 259
  • 12.2.3 秘诀104:使用HierarchyVie...
  • 12.2.4 秘诀105:使用TraceView工...
  • 12.3 Android 系统调试工具 264