第1章 Android编程入门 1
1.1 Android简介 1
1.1.1 Android版本 2
1.1.2 Android功能 2
1.1.3 Android架构 3
1.1.4 市场上的Android设备 4
1.1.5 Android Market 5
1.2 获得所需工具 5
1.2.1 Eclipse 6
1.2.2 Android SDK 6
1.2.3 Android开发工具 6
1.2.4 创建Android虚拟设备(AVD) 10
1.2.5 创建第一个Android应用程序 12
1.2.6 Android应用程序剖析 18
1.3 本章小结 21
第2章 活动和意图 22
2.1 理解活动 22
2.1.1 如何对活动应用样式和主题 27
2.1.2 隐藏活动标题 28
2.1.3 显示对话框窗口 29
2.1.4 显示进度对话框 34
2.2 使用意图链接活动 38
2.2.1 解决意图筛选器的冲突 42
2.2.2 从意图返回结果 44
2.2.3 使用意图对象传递数据 48
2.3 使用意图调用内置应用程序 50
2.3.1 理解意图对象 57
2.3.2 使用意图筛选器 58
2.3.3 添加类别 64
2.4 显示通知 65
2.5 本章小结 70
第3章 Android用户界面 72
3.1 了解屏幕的构成 72
3.1.1 视图和视图组 73
3.1.2 LinearLayout 73
3.1.3 AbsoluteLayout 77
3.1.4 TableLayout 79
3.1.5 RelativeLayout 80
3.1.6 FrameLayout 82
3.1.7 ScrollView 84
3.2 适应显示方向 86
3.2.1 锚定视图 87
3.2.2 调整大小和重新定位 89
3.3 管理屏幕方向的变化 92
3.3.1 配置改变时保持状态信息 96
3.3.2 检测方向改变 97
3.3.3 控制活动的方向 98
3.4 以编程方式创建用户界面 99
3.5 侦听用户界面通知 101
3.5.1 重写活动中定义的方法 102
3.5.2 为视图注册事件 106
3.6 本章小结 109
第4章 使用视图设计用户界面 110
4.1 基本视图 110
4.1.1 TextView视图 111
4.1.2 Button、ImageButton、EditText、CheckBox、ToggleButton、RadioButton和RadioGroup视图 111
4.1.3 ProgressBar视图 120
4.1.4 AutoCompleteTextView视图 125
4.2 选取器视图 128
4.2.1 TimePicker视图 128
4.2.2 DatePicker视图 133
4.3 列表视图 140
4.3.1 ListView视图 140
4.3.2 使用Spinner视图 146
4.4 本章小结 149
第5章 使用视图显示图片和菜单 152
5.1 使用图像视图显示图片 152
5.1.1 Gallery和ImageView视图 152
5.1.2 ImageSwitcher 159
5.1.3 GridView 164
5.2 将菜单和视图一起使用 168
5.2.1 创建辅助方法 169
5.2.2 选项菜单 171
5.2.3 上下文菜单 173
5.3 其他一些视图 176
5.3.1 AnalogClock和DigitalClock视图 176
5.3.2 WebView 177
5.4 本章小结 182
第6章 数据持久化 184
6.1 保存和加载用户首选项 184
6.1.1 使用getSharedPreferences()方法 184
6.1.2 使用getPreferences()方法 189
6.2 将数据持久化到文件中 189
6.2.1 保存到内部存储器 189
6.2.2 保存到外部存储器(SD卡) 195
6.2.3 选择最佳存储选项 197
6.2.4 使用静态资源 197
6.3 创建和使用数据库 198
6.3.1 创建DBAdapter辅助类 199
6.3.2 以编程方式使用数据库 204
6.3.3 预创建数据库 211
6.4 本章小结 214
第7章 内容提供者 216
7.1 在Android中共享数据 216
7.2 使用内容提供者 217
7.2.1 预定义查询字符串常量 221
7.2.2 投影 224
7.2.3 筛选 225
7.2.4 排序 225
7.3 创建自己的内容提供者 225
7.4 本章小结 239
第8章 消息传递和联网 240
8.1 SMS消息传递 240
8.1.1 以编程方式发送SMS消息 241
8.1.2 发送消息后获取反馈 244
8.1.3 使用意图发送SMS消息 246
8.1.4 接收SMS消息 247
8.1.5 说明和警告 257
8.2 发送电子邮件 257
8.3 联网 259
8.3.1 下载二进制数据 262
8.3.2 下载文本文件 264
8.3.3 访问Web服务 267
8.3.4 执行异步调用 272
8.4 本章小结 273
第9章 基于位置的服务 275
9.1 显示地图 275
9.1.1 创建项目 275
9.1.2 获取Maps API密钥 277
9.1.3 显示地图 279
9.1.4 显示缩放控件 281
9.1.5 改变视图 284
9.1.6 导航到特定位置 285
9.1.7 添加标记 288
9.1.8 获取触摸的位置 291
9.1.9 地理编码和反向地理编码 293
9.2 获取位置数据 295
9.3 本章小结 299
第10章 开发Android服务 302
10.1 创建自己的服务 302
10.1.1 在服务中执行长时间运行的任务 307
10.1.2 在服务中执行重复的任务 312
10.1.3 使用IntentService在单独的线程上执行异步任务 314
10.2 在服务和活动之间通信 317
10.3 将活动绑定到服务 321
10.4 本章小结 327
第11章 发布Android应用程序 329
11.1 为发布做准备 329
11.1.1 版本化 329
11.1.2 对Android应用程序进行数字签名 332
11.2 部署APK文件 336
11.2.1 使用adb.exe工具 336
11.2.2 使用Web服务器 337
11.2.3 在Android Market上发布 340
11.3 本章小结 345
附录A 使用Eclipse进行Android开发 347
附录B 使用Android模拟器 357
附录C 练习答案 371