Android应用开发入门经典(第3版)

978-7-115-35825-7
作者: 【美】Carmen Delessio Lauren Darcey Shane Conder
译者: 郭光伟腾灵灵
编辑: 傅道坤

图书目录:

目 录

第 1部分 入门

第 1章 入门——创建一个简单的应用 2

1.1 建立开发环境 2

1.1.1 使用ADT包安装 3

1.1.2 了解已安装的组件 3

1.2 立即创建一个简单的应用 4

1.3 理解Java代码和XML布局 7

1.4 运行应用 8

1.5 定制应用 9

1.5.1 更新用户界面 9

1.5.2 在代码中增加动作 10

1.6 小结 12

1.7 问与答 12

1.8 作业 13

1.8.1 测验 13

1.8.2 答案 13

1.9 练习 13

第 2章 理解Android Activity 14

2.1 理解activity 14

2.2 启动一个activity 15

2.2.1 在一个activity中启动另一个activity 15

2.2.2 回退、回退、回退:理解回退栈 19

2.2.3 Launch Activity 21

2.3 在不同Activity之间传递信息 21

2.3.1 使用Extra和Bundle 21

2.3.2 返回一个结果:使用StartActivityForResult 23

2.4 理解Intent 26

2.4.1 使用Intent传递信息 29

2.4.2 使用Intent启动其他应用程序 29

2.5 理解Activity生命周期 30

2.6 小结 32

2.7 问与答 32

2.8 作业 32

2.8.1 测验 32

2.8.2 答案 33

2.9 练习 33

第3章 Android项目和资源探究 34

3.1 Android项目文件探究 34

3.1.1 项目创建时创建的文件夹和文件 34

3.1.2 理解R.java文件 36

3.1.3 Android平台和Android依赖 37

3.2 理解常见资源 37

3.2.1 使用资源 37

3.2.2 使用简单的资源 38

3.2.3 使用可绘制的资源 41

3.2.4 添加动画 43

3.2.5 在视图中使用风格 44

3.2.6 使用Raw和Assets文件夹 44

3.3 小结 45

3.4 问与答 45

3.5 作业 45

3.5.1 测验 45

3.5.2 答案 46

3.6 练习 46

第4章 不仅仅是智能手机:支持平板电脑、电视等 47

4.1 Android简史 47

4.2 处理设备显示和方向 48

4.2.1 屏幕密度 48

4.2.2 屏幕大小 48

4.2.3 处理屏幕大小和密度 49

4.2.4 方向 51

4.2.5 在程序中处理方向的变化 52

4.3 设备特性 53

4.4 平台版本和兼容性 54

4.4.1 引入Fragment和动作栏 55

4.4.2 使用支持库 56

4.4.3 设备支持策略 57

4.5 在设备上启动应用 57

4.6 小结 59

4.7 问与答 59

4.8 作业 59

4.8.1 测验 59

4.8.2 答案 60

4.9 练习 60

第 2部分 用户界面

第5章 使用布局 62

5.1 开始使用布局 62

5.1.1 使用布局资源编辑器设计布局 63

5.1.2 使用XML编辑布局 63

5.1.3 在程序中使用布局资源 64

5.1.4 布局的类型 64

5.2 更多的布局基础与LinearLayout 66

5.2.1 公共属性 66

5.2.2 改变LinearLayout属性 66

5.3 放置子视图 67

5.3.1 内边距 67

5.3.2 布局外边距 68

5.3.3 重心 68

5.3.4 权重 69

5.4 FrameLayout 69

5.5 RelativeLayout 70

5.6 小结 71

5.7 问与答 71

5.8 作业 71

5.8.1 测验 71

5.8.2 答案 72

5.9 练习 72

第6章 使用基本的UI控件 73

6.1 创建演示应用 73

6.2 使用输入控件 75

6.2.1 使用TextView和EditView视图 75

6.2.2 使用不同的按钮 77

6.3 组合使用控件和适配器 79

6.3.1 适配器 79

6.3.2 使用Spinner控件 80

6.3.3 使用AutoCompleteTextView 80

6.4 ProgressBar和SeekBar 81

6.4.1 AsyncTask 82

6.4.2 ProgressBar 83

6.4.3 SeekBar 83

6.5 ImageView 84

6.6 小结 84

6.7 问与答 85

6.8 作业 85

6.8.1 测验 85

6.8.2 答案 85

6.9 练习 86

第7章 动作栏和菜单导航 87

7.1 理解选项菜单 87

7.1.1 显示选项菜单 88

7.1.2 响应选项菜单 91

7.2 使用动作栏 92

7.2.1 下拉导航 92

7.2.2 选项卡导航 94

7.3 使用动作栏和菜单的策略 96

7.4 小结 96

7.5 问与答 96

7.6 作业 97

7.6.1 测验 97

7.6.2 答案 97

7.7 练习 97

第8章 activity和fragment 98

8.1 在不同UI中使用fragment 98

8.2 创建和显示fragment 99

8.2.1 为fragment显示使用布局 99

8.2.2 动态地显示fragment 100

8.2.3 fragment和支持包 101

8.3 使用fragment导航 102

8.3.1 在不同fragment之间导航 102

8.3.2 使用fragment与动作栏 104

8.4 fragment和activity之间的交互 105

8.5 小结 107

8.6 问与答 107

8.7 作业 107

8.7.1 测验 107

8.7.2 答案 108

8.8 练习 108

第9章 警报!使用对话框 109

9.1 理解对话框fragment 109

9.1.1 显示对话框 109

9.1.2 打开和关闭对话框 111

9.2 选择日期和时间的对话框 112

9.2.1 使用日期选择器 112

9.2.2 使用时间选择器 115

9.3 使用警报对话框 116

9.3.1 显示列表项 117

9.3.2 添加自定义的视图 118

9.4 小结 119

9.5 问与答 120

9.6 作业 120

9.6.1 测验 120

9.6.2 答案 120

9.7 练习 120

第 10章 List、Grid、Gallery以及Flipper 121

10.1 ListFragment 121

10.1.1 创建一个简单的ListFragment 122

10.1.2 定制ListFragment 123

10.2 Grid和Gallery 125

10.2.1 创建包含GridView的Fragment 125

10.2.2 创建包含Gallery的Fragment 126

10.3 使用AdapterViewFlipper 128

10.4 分页控件选项 129

10.5 小结 129

10.6 问与答 129

10.7 作业 130

10.7.1 测验 130

10.7.2 答案 130

10.8 练习 130

第 11章 应用设置:管理首 选项 131

11.1 使用SharedPreferences 131

11.1.1 设置首 选项 131

11.1.2 读取SharedPreferences 132

11.1.3 SharedPreferences中的数据类型和方法 133

11.2 设置用户首 选项 133

11.2.1 创建Preferences Fragment 134

11.2.2 生成首 选项Activity 140

11.3 小结 141

11.4 问与答 141

11.5 作业 141

11.5.1 测验 141

11.5.2 答案 142

11.6 练习 142

第3部分 数据访问和使用

第 12章 访问云:使用远程API 144

12.1 获取远程数据 144

12.1.1 使用API调用 145

12.1.2 使用HttpUrlConnection读取数据 146

12.1.3 应用的结构 147

12.2 使用和解析JSON格式的数据 148

12.2.1 创建JSONObject 148

12.2.2 使用JSONArray 149

12.2.3 解析JSON 149

12.3 集成 151

12.3.1 使用AsyncTask在后台下载 152

12.3.2 在Fragment中显示列表 153

12.4 检查联通性 155

12.5 小结 155

12.6 问与答 156

12.7 作业 156

12.7.1 测验 156

12.7.2 答案 156

12.8 练习 156

第 13章 使用SQLite和文件存储 157

13.1 使用表组织数据库 157

13.2 使用SQLiteOpenHelper管理数据 158

13.3 添加、更新、删除数据 160

13.3.1 插入一张照片 160

13.3.2 更新一张照片 161

13.3.3 删除一张照片 162

13.4 查询数据和使用游标 163

13.5 在应用中使用数据库 165

13.5.1 插入Flickr照片数据 165

13.5.2 读取数据库以显示照片标题 166

13.6 保存图像文件 168

13.6.1 从Flickr读取图像 169

13.6.2 使用缓存的图像 170

13.7 小结 172

13.8 问与答 172

13.9 作业 173

13.9.1 测验 173

13.9.2 答案 173

13.10 练习 173

第 14章 创建一个Content Provider 174

14.1 使用URI进行数据读取 174

14.2 构建Content Provider 175

14.2.1 Content Provider中要求的方法 175

14.2.2 声明Content Provider 176

14.2.3 更新Android清单文件 177

14.2.4 Content Provider查询方法 178

14.2.5 使用FlickrPhotoProvider查询 179

14.2.6 实现GetType()方法 180

14.2.7 实现插入、更新、删除方法 180

14.3 在应用中使用FlickrPhotoProvider 181

14.4 从Content Provider中请求文件 182

14.4.1 如何从Content Provider中返回文件 183

14.4.2 从文件或远程读取图像 184

14.4.3 在内容发生变化时使用ContentObserver 186

14.5 小结 187

14.6 问与答 187

14.7 作业 187

14.7.1 测验 187

14.7.2 答案 187

14.8 练习 188

第 15章 加载器、游标加载器和自定义适配器 189

15.1 加载器的工作方式 189

15.2 加载器类 190

15.3 理解加载器状态 190

15.3.1 初始化加载器 190

15.3.2 创建加载器 191

15.3.3 在数据可用时采取措施 191

15.3.4 重置加载器 192

15.3.5 使用游标加载器和游标适配器 192

15.4 创建自定义适配器 195

15.4.1 使用BaseAdapter 195

15.4.2 视图持有者模式介绍 197

15.4.3 自定义游标适配器介绍 199

15.5 小结 199

15.6 问与答 199

15.7 作业 200

15.7.1 测验 200

15.7.2 答案 200

15.8 练习 200

第 16章 开发一个完整的应用 201

16.1 确定应用的功能 201

16.1.1 从Flickr照片开始 201

16.1.2 为应用创建线框图 202

16.1.3 规划应用:列出清单 203

16.2 开发应用 204

16.2.1 使用自定义的游标适配器 204

16.2.2 为ListCursorAdapter实现BindView 205

16.2.3 创建照片和收藏照片Fragment 210

16.2.4 在列表或网格中显示数据 212

16.2.5 显示选中的图像 214

16.2.6 处理收藏夹 215

16.2.7 **终的应用清单 216

16.3 小结 216

16.4 问与答 216

16.5 作业 217

16.5.1 测验 217

16.5.2 答案 217

16.6 练习 217

第4部分 特殊主题

第 17章 联系人和日历:访问设备数据 220

17.1 日历 220

17.1.1 Android上的日历数据 221

17.1.2 使用Intent更新日历 227

17.2 理解联系人 229

17.2.1 查询联系人 229

17.2.2 使用联系人Intent 230

17.3 小结 231

17.4 问与答 231

17.5 作业 231

17.5.1 测验 231

17.5.2 答案 232

17.6 练习 232

第 18章 我们在哪里?使用基于位置的服务 233

18.1 确定位置 233

18.2 使用地理编码服务 239

18.3 使用Geo Intent 241

18.4 其他位置特性 242

18.5 使用Google Play服务 243

18.6 小结 245

18.7 问与答 246

18.8 作业 246

18.8.1 测验 246

18.8.2 答案 246

18.9 练习 246

第 19章 Bonjour,World!本地化应用 247

19.1 常规的国际化原则 247

19.2 在Android中使用本地化 248

19.3 在Android中处理区域 248

19.4 使用应用程序来处理区域 249

19.4.1 指定默认的资源 250

19.4.2 指定特定于语言的资源 250

19.4.3 指定特定于地区的资源 250

19.4.4 在多语言环境下测试应用 251

19.5 Android国际化策略 252

19.5.1 忘记应用程序国际化 252

19.5.2 限制应用程序国际化 253

19.5.3 实现健壮的应用程序国际化 253

19.6 使用本地化工具 254

19.6.1 确定系统区域 254

19.6.2 格式化日期和时间字符串 254

19.6.3 处理货币 254

19.7 小结 254

19.8 问与答 255

19.9 作业 255

19.9.1 测验 255

19.9.2 答案 255

19.10 练习 255

第 20章 说cheese!使用照相机 257

20.1 捕获媒体 257

20.1.1 捕获媒体的公共步骤 258

20.1.2 指定媒体存储的文件 258

20.1.3 创建URI并调用媒体扫描器 259

20.2 使用Intent拍摄照片和视频 260

20.2.1 使用intent拍摄照片 260

20.2.2 使用intent拍摄视频 263

20.2.3 使用intent捕获媒体的好处 264

20.3 开发一个照相机应用 264

20.3.1 捕获媒体的权限 265

20.3.2 创建照相机预览类 265

20.3.3 创建自定义的照相机Activity 267

20.3.4 创建自定义的视频Activity 270

20.4 小结 271

20.5 问与答 271

20.6 作业 271

20.6.1 测验 271

20.6.2 答案 271

20.7 练习 272

第 21章 媒体基础:图像、音频和视频 273

21.1 ImageView控件研究 273

21.1.1 显示图像 274

21.1.2 在ImageView中使用ScaleTypes 274

21.1.3 使用矩阵旋转图像 276

21.1.4 设置Alpha 277

21.2 位图和画布 278

21.2.1 处理大图像 278

21.2.2 直接在画布上绘制 280

21.3 使用VideoView 281

21.3.1 加载视频 281

21.3.2 启动、暂停、定位视频 282

21.3.3 监听VideoView的状态 282

21.4 使用MediaPlayer播放音频 284

21.5 更多媒体选项研究 284

21.6 小结 285

21.7 问与答 285

21.8 作业 285

21.8.1 测验 285

21.8.2 答案 286

21.9 练习 286

第 22章 使用Facebook SDK 287

22.1 有关Facebook 287

22.2 设置Facebook开发环境 288

22.2.1 创建新的Facebook应用 288

22.2.2 下载Facebook SDK 289

22.2.3 安装Facebook SDK 289

22.3 在项目中使用FacebookSDK 291

22.3.1 设置应用ID 292

22.3.2 对清单文件**后的变更 292

22.3.3 准备开始编码 293

22.4 开发Facebook照片上传应用 293

22.4.1 设置Facebook权限 293

22.4.2 登录和会话管理 294

22.4.3 应用实现 294

22.4.4 发起Facebook请求 295

22.5 Facebook SDK特性 297

22.5.1 Facebook SDK概览 297

22.5.2 深链接 297

22.6 为自己的项目创建库 297

22.7 小结 298

22.8 问与答 298

22.9 作业 298

22.9.1 测验 298

22.9.2 答案 298

22.10 练习 299

第5部分 打包

第 23章 专家建议、润色和下一步 302

23.1 快速响应的应用:使用IntentService 302

23.1.1 定义一个IntentService 303

23.1.2 添加BroadcastReceiver 305

23.2 添加动画 306

23.3 使用开源 308

23.3.1 ActionBarSherlock 308

23.3.2 ViewPageIndicator 308

23.3.3 Picasso 309

23.3.4 在应用中使用开源 309

23.4 深入Android 309

23.4.1 使用传感器 310

23.4.2 处理用户手势 310

23.4.3 使用风格和主题 311

23.4.4 设计自定义的视图和ViewGroup控件 311

23.4.5 将文本转换成语音 311

23.4.6 将语音转换成文本 312

23.4.7 使用OpenGL ES图形API 312

23.4.8 蓝牙 312

23.4.9 NFC和Beam 312

23.4.10 用于外部显示的Presentation类 312

23.5 小结 313

23.6 问与答 313

23.7 作业 313

23.7.1 测验 313

23.7.2 答案 314

23.8 练习 314

第 24章 发布应用 315

24.1 准备发布 315

24.1.1 为发布准备Android清单文件 316

24.1.2 对应用进行签名 317

24.2 发布应用 320

24.2.1 在Google Play上发布 320

24.2.2 在Amazon上发布 322

24.2.3 什么是OUYA和其他市场 322

24.3 通过应用赚钱 323

24.3.1 免费的应用 323

24.3.2 广告支持 323

24.3.3 付费 323

24.3.4 应用内付费 323

24.4 小结 324

24.5 问与答 324

24.6 作业 324

24.6.1 测验 324

24.6.2 答案 324

24.7 练习 324

详情

本书通过通俗易懂的语言,循序渐进地介绍了使用Android进行应用开发的相关知识,其中包括Android基本知识、如何创建应用程序界面、Android SDK高级功能、应用程序的国际化和测试、如何发布Android应用程序等。通过本书的学习,读者不但可以掌握Android的核心概念,还可以自如地编写、测试,以及发布自己的应用程序。

图书摘要

相关图书

DirectX 12 3D 游戏开发实战
DirectX 12 3D 游戏开发实战
Python和NLTK自然语言处理
Python和NLTK自然语言处理
scikit-learn机器学习(第2版)
scikit-learn机器学习(第2版)
C++编程自学宝典
C++编程自学宝典
数据科学实战手册(第2版)
数据科学实战手册(第2版)
Scala实用指南
Scala实用指南

相关文章

相关课程