Android 开发入门与实战(第二版)

978-7-115-31464-2
作者: eoe移动开发者社区 组编靳岩姚尚朗
译者:
编辑: 张涛

图书目录:

目 录

第 1章 掀起你的盖头来——Android开发扫盲 1

1.1 Android行业概述 1

1.1.1 Android缘起 1

1.1.2 Android市场发展轨迹 2

1.1.3 Android SDK发布里程碑 5

1.2 Android开发概述 7

1.2.1 Android开发生态链 7

1.2.2 Android国内开发 者现况 8

1.3 Android开发资源 9

1.3.1 Android开发线上社区 9

1.3.2 Android学习资料 11

1.3.3 Android开发线下活动 12

1.4 本章小结 13

第 2章 工欲善其事必先利其器——搭建环境Android 14

2.1 开发Android应用前的准备 14

2.1.1 操作系统要求 14

2.1.2 Android软件开发包 14

2.2 Windows开发环境搭建 14

2.2.1 安装JDK 14

2.2.2 安装Eclipse 16

2.2.3 安装Android SDK 18

2.2.4 安装ADT 20

2.2.5 真实体验——创建Android虚拟设备(AVD) 22

2.3 Linux一族——Ubuntu开发环境搭建 23

2.3.1 安装JDK 23

2.3.2 安装Eclipse 25

2.3.3 安装Android SDK 27

2.3.4 安装ADT 29

2.3.5 创建Android虚拟设备(AVD) 31

2.4 Mac OS一族——苹果开发环境搭建 33

2.5 本章小结 33

第3章 清点可用的资本——Android SDK介绍 34

3.1 Android SDK概要 34

3.2 深入探索Android SDK的密秘 34

3.2.1 Android SDK的目录结构 34

3.2.2 android.jar及其内部结构 35

3.2.3 SDK文档及阅读技巧 35

3.2.4 先来热身——Android SDK例子解析 37

3.2.5 SDK提供的工具介绍 40

3.3 Android典型包分析 42

3.3.1 开发基石——Android API核心开发包介绍 42

3.3.2 拓展开发外延——Android可选API介绍 43

3.4 本章小结 43

第4章 千里之行始于足下——Hello EoE 44

4.1 Hello EoE应用分析 44

4.1.1 新建一个Android项目 44

4.1.2 Android项目目录结构 46

4.1.3 运行项目 46

4.2 调试项目 47

4.2.1 设置断点 48

4.2.2 Debug项目 48

4.2.3 断点调试 49

4.3 本章小结 49

第5章 良好的学习开端——Android应用程序架构分析 50

5.1 Android系统架构 50

5.1.1 Applications(应用程序层) 51

5.1.2 Application Framework(应用程序框架层) 51

5.1.3 Libraries Android Runtime(库以及Android运行环境) 52

5.1.4 Linux Kernel(Linux 内核) 52

5.2 Android应用程序工程结构分析 53

5.2.1 应用程序工程结构组成分析 53

5.2.2 AndroidMainfest文件分析 54

5.3 本章小结 56

第6章 Android的核心——Activity 57

6.1 什么是Activity 57

6.2 Activity的生命周期 57

6.3 Activity的监控范围内的三个主要循环 59

6.4 Activity拥有四个基本的状态 60

6.5 Task、栈以及加载模式 60

6.6 配置改变 63

6.7 如何保存和恢复Activity状态 63

6.8 启动Activity并得到结果 64

6.9 Activity小实例 65

6.10 本章小结 71

第7章 我来“广播”你的意图——Intent & Intent Filters & Broadcast Receivers 72

7.1 什么是Intent 72

7.2 Intent结构 72

7.3 Intent的两种类型 74

7.3.1 显式Intent 74

7.3.2 隐式Intent 74

7.4 什么是Intent Filter 74

7.5 什么是Broadcast Receiver 75

7.6 如何创建BroadcastReceiver 75

7.7 BroadcastReceiver生命周期 76

7.8 广播类型 76

7.9 Intent&BroadcastReceiver 76

7.10 本章小结 80

第8章 一切为用户服务——Service 81

8.1 什么是Service 81

8.2 Service的两种形式 81

8.3 如何创建Service 82

8.3.1 创建启动形式Service 82

8.3.2 创建绑定形式Service 83

8.4 Service的生命周期 84

8.5 Service小实例 85

8.5.1 启动形式Service 85

8.5.2 绑定形式Service 89

8.6 本章小结 93

第9章 提供数据的引擎——Content Providers 94

9.1 什么是ContentProviders 94

9.2 什么是ContentResolver 94

9.3 如何调用系统的ContentProvider 95

9.4 如何使用ContentResolver访问自定义ContentProvider 96

9.5 本章小结 101

第 10章 我的美丽我做主——用户界面(User Interface) 102

10.1 布局——Layout 102

10.1.1 线性布局——Linear Layout 103

10.1.2 相对布局——Relative Layout 105

10.2 列表视图 107

10.2.1 列视图——Listview 107

10.2.2 表视图——GridView 110

10.3 输入控件——Input Controls 113

10.3.1 基本输入控件 113

10.3.2 对话框控件——Dialog 121

10.4 菜单——Menu 125

10.5 活动栏——Action Bar 129

10.6 通知——Notifications 132

10.7 本章小结 134

第 11章 循序渐进——线程&进程 135

11.1 线程(Thread)&进程(Process)概念 135

11.2 线程、进程与Android系统组件的关系 135

11.3 实现多线程的方式 138

11.3.1 Thread 139

11.3.2 AsyncTask 140

11.4 本章小结 141

第 12章 信息百宝箱——全面数据存储 142

12.1 SharedPreferences(分享爱好) 142

12.1.1 相识SharedPreferences 142

12.1.2 保存数据 144

12.1.3 删除数据 146

12.1.4 修改数据 147

12.1.5 查询数据 148

12.1.6 监听数据变化 148

12.2 流文件存储 149

12.2.1 基本方法简介 149

12.2.2 存储流程图 150

12.2.3 数据保存和查询的实例 150

12.3 实战db4o数据库 153

12.4 SQLite数据库 157

12.4.1 什么是SQLite数据库 157

12.4.2 Android中的SQLite 157

12.4.3 SQLiteOpenHelper 157

12.4.4 创建或打开数据库 158

12.4.5 关闭数据库 158

12.4.6 创建数据表 159

12.4.7 删除数据表 159

12.4.8 增加数据 159

12.4.9 查询数据 160

12.4.10 修改数据 160

12.4.11 删除数据 161

12.4.12 事务 161

12.4.13 SQLite可视化管理工具 161

12.4.14 图片的保存和查询 163

12.5 记事本实例 166

12.5.1 创建主界面 167

12.5.2 添加内容界面的创建 168

12.5.3 保存数据 169

12.5.4 以列表的形式查询数据 170

12.5.5 选项的菜单 171

12.5.6 “查看”选项的事件 172

12.5.7 “修改”选项的事件 172

12.5.8 “删除”选项的事件 173

12.6 本章小结 174

第 13章 不积跬步无以到千里——Widget 175

13.1 认识Widget 175

13.2 使用Widget 176

13.3 Widget生命周期 180

13.4 Widget设计向导 182

13.4.1 添加配置页面 182

13.4.2 Widget设计向导 186

13.5 Widget实例——eoeWikiRecent Widget 188

13.6 本章小结 197

第 14章 更上一层楼——网络通信和XML解析 198

14.1 Android网络通信基础 198

14.1.1 Apache网络接口 199

14.1.2 标准Java网络接口 199

14.1.3 Android网络接口 199

14.2 基于HTTP协议的网络通信 199

14.2.1 HTTP介绍 199

14.2.2 使用Apache接口 200

14.2.3 使用标准Java接口 202

14.2.4 总结 203

14.3 基于Socket的网络通信 203

14.3.1 Socket介绍 204

14.3.2 Android Socket编程 205

14.4 XML解析技术介绍 206

14.4.1 DOM方式 207

14.4.2 SAX方式 208

14.4.3 PULL方式 210

14.5 本章小结 212

第 15章 灵活的应用 213

15.1 Android自定义UI控件 213

15.1.1 Android UI结构 213

15.1.2 Android 绘制View的原理 214

15.1.3 Android 自定义控件分析 215

15.1.4 Android自定义控件小结 216

15.2 片段(Fragment)布局 217

15.2.1 Fragment简介 217

15.2.2 Fragment设计理念 217

15.2.3 创建一个Fragment 218

15.2.4 添加用户界面 219

15.2.5 向活动中添加一个片段 220

15.2.6 添加没有UI的片段 220

15.2.7 管理片段 221

15.2.8 执行片段事务(Fragment Transaction) 221

15.2.9 和活动进行通信 222

15.2.10 小结 222

15.3 画布和画笔 222

15.3.1 画布简介 222

15.3.2 画笔简介 223

15.3.3 例子 224

15.4 本章小结 224

第 16章 万变不离其宗——多设备适配 225

16.1 多屏幕适配 225

16.1.1 屏幕适配概述 225

16.1.2 屏幕的分类 226

16.1.3 如何支持多屏幕 227

16.1.4 从项目中怎么适配多屏幕 228

16.2 多语言处理 230

16.2.1 多语言处理概述 230

16.2.2 多语言在程序中的实现 230

16.3 多版本处理 231

16.3.1 支持不同的版本 231

16.3.2 设备运行时检查系统的版本 231

第 17章 开发好应用——省电、布局、快速响应、NFC、Android bean等好玩的应用 233

17.1 开发省电的应用 233

17.1.1 数据传输时避免浪费电量 233

17.1.2 电池续航时间优化 237

17.2 近距离无线通信——NFC 238

17.2.1 近距离无线通信——NFC概述 238

17.2.2 近距离无线通信——NFC基础 238

17.2.3 Android对NFC的支持 239

17.2.4 Android应用中实现NFC 241

17.3 本章小结 242

第 18章 没有规矩不成方圆——Android UI设计规范 243

18.1 UI设计概述 243

18.1.1 Android UI设计概述 243

18.1.2 自成体系的风格设计 244

18.2 UI设计原则(Design Principles) 246

18.2.1 让我着迷—Enchant Me 247

18.2.2 简化我的生活—Simplify My Life 248

18.2.3 让我感到惊奇—Make Me Amazing 250

18.3 UI设计规范 252

18.3.1 应用结构规范 252

18.3.2 导航规范 253

18.3.3 通知规范 255

18.4 本章小结 257

第 19章 综合案例一——图书信息查询 258

19.1 项目介绍 258

19.2 ZXing 259

19.2.1 ZXing介绍 259

19.2.2 ZXing调用流程 259

19.3 豆瓣图书API 259

19.3.1 豆瓣图书API介绍 259

19.3.2 豆瓣图书API调用流程 259

19.4 项目效果图 260

19.5 项目编码 262

19.5.1 实体类 263

19.5.2 欢迎界面 266

19.5.3 数据下载 269

19.5.4 数据解析 271

19.5.5 信息显示界面 273

19.6 本章小结 276

第 20章 综合案例二——eoe Wiki客户端 277

20.1 背景与简介 277

20.1.1 eoe Wiki网站 277

20.1.2 eoe Wiki客户端 277

20.2 项目设计 278

20.2.1 原型图设计 278

20.2.2 流程图设计 279

20.3 功能模块 280

20.3.1 项目目录结构 281

20.3.2 滑块特效 282

20.3.3 网络交互 290

20.3.4 JSON数据解析 295

20.3.5 数据库与缓存 299

20.4 **终演示 307

20.5 本章小结 309

第 21章 综合案例三——广告查查看看 310

21.1 产品开发背景 310

21.2 产品功能简介 311

21.3 本章小结 314

第 22章 综合案例四——手机信息小助手 315

22.1 背景与简介 315

22.1.1 应用背景与简介 315

22.1.2 手机信息小助手功能规划 315

22.2 手机信息小助手编码实现 316

22.2.1 手机信息小助手主界面 316

22.2.2 系统信息 320

22.2.3 硬件信息 325

22.2.4 软件信息 329

22.2.5 运行时信息 331

22.2.6 文件浏览器 334

22.3 项目细节完善 337

22.4 手机信息小助手功能展望 338

22.5 本章小结 338

第 23章 综合案例五——“土地浏览器”实例 339

23.1 土地浏览器简介 339

23.1.1 为什么要开发土地浏览器 339

23.1.2 土地浏览器的基本功能 340

23.2 土地浏览器的设计 340

23.3 土地浏览器的开发过程 341

23.3.1 启动界面的开发 341

23.3.2 网址输入栏的设计 344

23.3.3 网址输入栏的触屏弹出和收缩 346

23.3.4 网址的获取 347

23.3.5 如何在本程序中打开浏览器 349

23.3.6 网站标题的获取 349

23.3.7 网站图标的获取 349

23.3.8 网站打开进度的获得 350

23.3.9 网页网址的获得 350

23.3.10 网页的触屏滑动翻页 350

23.3.11 网页缩放 351

23.3.12 书签和历史记录 351

23.3.13 底部菜单 355

23.3.14 关于设置 356

23.3.15 皮肤 358

23.3.16 壁纸设置 359

23.3.17 主页设置 359

23.3.18 JavaScript设置 360

23.3.19 缓存设置 361

23.3.20 缓存删除 361

23.3.21 其他 362

23.4 本章小结 362

第 24章 综合案例六——地图跟踪 363

24.1 百度地图示例应用分析 363

24.1.1 百度地图SDK开发准备 363

24.1.2 百度地图示例程序讲解 364

24.2 本章小结 374

后记 375

详情

本书从内容覆盖了Android开发的大部分场景,从andriod基础介绍、环境搭建、SDK介绍、Market使用,到应用剖析、组件介绍、实例演示等方面。从技术实现上,编写了RSS阅读器、googleMap、豆瓣网手机客户端应用等众多方面的实例应用。

图书摘要

相关图书

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

相关文章

相关课程