Android 开发入门与实战.pdf

Android 开发入门与实战.pdf
 

书籍描述

编辑推荐
最大的开发社区eoe Android(注册会员10万)全新打造的。
6大完整商业案例:图书信息查询、eoe Wiki客户端、广告查查看看、手机信息查看小助手、土地浏览器实例、地图跟踪,案例取自作者的商业项目,可以学以致用,增加成就感。
全部内容基于最新的Android SDK 4.X。

媒体推荐
这是一本很平易近人的Android入门书籍,也是开发者及非开发者两相宜的实务书籍,它能陪伴您顺利入门,并驰骋于无限宽广的Android系统和应用领域。
—台湾著名技术专家 高焕堂

随着3G元年的到来,移动互联网的不断深入发展,G1和G2手机的相继问世,Android 上网本的若隐若现,中国移动、中国联通等运营商即将发布基于Android 系统手机的新闻不断,越来越多的开发者更清晰地看到了,在Android平台上进行软件和服务开发的必要性和广阔前景。
作者历时半年完成本书,并通过通俗的文字、翔实的示例,由浅入深地向读者详细介绍Android 系统的概念、开发流程以及实际的演示例子。更难能可贵的是,作者还通过和真实生活联系紧密的例子,把Android 开发与当下流行的地图服务、Web 2.0、SNS 等应用联系起来,给读者展示了使用Android 进行丰富开发的诸多可能。本书结构合理,行文流畅,示例丰富,是一本很好的Android 开发入门和实战书籍。
—Google Android 测试工程师 何峰

未来可以预见,基于Android的应用需求会越来越多。对于软件从业人员来说,Android平台的一个吸引人之处是,它包括了开发移动设备应用所需的操作系统、用户界面设计等软件,且没有任何专有权方面的障碍,这也就意味着任何人都可以在其上进行开发。书中提供了一些完整的应用实例和源代码分析,如豆瓣网客户端、在线音乐播放器等,对于想快速上手Android的朋友有很大的帮助。
—InfoQ中文站(infoq.com/cn)总编辑 霍泰稳

Android开放平台是手机炫酷应用最好的实验场之一,与此同时,Android平台所具有的发展潜力,也必将成为应用开发者创造价值的源泉。在Android应用中,出现了很多体验性很好的程序,如果你也希望借助Android平台,以全新的方式和富有个性的创意来诠释掌中的移动应用,那么请不要犹豫翻开这本书,她将引导你用自己的创意去征服Android手机用户。
—中国科学院 博士 高昂


这本书通俗易懂,书中实例把传统互联网的内容与移动平台紧密结合,体现了很好的创新精神,很值得读者阅读。
—支付宝 数据库架构师 冯大辉

在我印象里,本书作者是个乐于探索新知、对技术潮流敏锐的程序员。如今Android手机操作系统刚刚出现,他又开始勇于创新地去实践,不仅开发了一系列Android应用,更用自己积累的经验和技术写出了这本实战教程,书中实例丰富、案例生动有趣,很值得读者学习。
—Thought Works咨询师 IT技术专家 熊节

作者简介
eoe移动开发者社区:
eoe.cn是国内成立最早、规模最大的中文移动开发者社区,2009年4月上线。社区涵盖问答、博客、图书、资料下载、沙龙活动、在线课堂、线下训练营等模块。eoe相信技术可以改变世界,致力于让每个人成为优秀的移动开发者,截至2012年12月,累计帮助开发者学习移动开发技术逾100万人次。


姚尚朗 (@IceskYsl)
80后,创业者,eoe联合创始人,Google产品重度依赖者,对移动互联网发展趋势有独特见解并以实践积极探索之。著《Google Android开发入门与实战》,《Google API大全 编程.开发.实例》,《It's Android TIME:Google Android创赢路线与产品开发实战》,译《The Rails Way》。随性,自由,喜欢背包去陌生的地方旅行,乐交朋友。
博客: http://www.iceskysl.com/ 微博: @Iceskysl

目录
目 录

第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 开发入门与实战(第二版)》遵循第一版的写作宗旨,通过本书的学习,让不懂Android开发的人系统地快速掌握Android开发的知识。《Android 开发入门与实战(第二版)》主要内容为:Android开发环境搭建、Android SDK介绍、Android应用程序结构剖析,并对Android 中最重要的组件Activity、Intents&Intent Filters&Broadcast receivers、Intent、Service、Content Providers进行了详细的讲解;然后对线程&进程、数据存储、Widget、网络通信和XML解析、多设备适配、Android UI Design(设计规范)等核心技术和读者关心的流行技术结合实例进行了详细讲解;最后精选了6个真实的案例,如图书信息查询、eoe Wiki客户端、广告查查看看、手机信息小助手、土地浏览器、地图追踪,让读者把各种技术贯穿起来,达到学以致用的目的。
  书中内容的安排循序渐进、由浅到深,跟随本书的步调,一定可以学会Android开发。《Android 开发入门与实战(第二版)》除了理论知识的介绍和演示外,还加入很多实战经验技巧和实战案例剖析,让大家在学习的时候能理论结合实战,融会贯通,真正掌握Android的开发技术。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多