图书介绍
精通AndroidPDF|Epub|txt|kindle电子书版本网盘下载
![精通Android](https://www.shukui.net/cover/6/30361230.jpg)
- (印)SatyaKomatinen,i(美)DaveMacLean著;曾少宁,杨越译 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115297150
- 出版时间:2013
- 标注页数:744页
- 文件大小:212MB
- 文件页数:758页
- 主题词:移动终端-应用程序-程序设计
PDF下载
下载说明
精通AndroidPDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Android计算平台简介1
1.1 面向新PC的全新平台1
1.2 Android的历史2
1.3 Dalvik VM剖析4
1.4 理解Android软件栈5
1.5 使用Android SDK开发最终用户应用程序6
1.5.1 Android模拟器6
1.5.2 Android UI7
1.5.3 Android基础组件7
1.5.4 高级UI概念8
1.5.5 Android Service组件10
1.5.6 Android媒体和电话组件10
1.5.7 Android Java包11
1.6 利用Android源代码14
1.6.1 在线浏览Android源代码14
1.6.2 使用Git下载Android源代码15
1.7 本书的示例项目16
1.8 小结16
第2章 设置开发环境17
2.1 设置环境17
2.1.1 下载JDK 618
2.1.2 下载Eclipse 3.619
2.1.3 下载Android SDK19
2.1.4 命令行窗口20
2.1.5 安装ADT21
2.2 了解基本组件23
2.2.1 View23
2.2.2 Activity23
2.2.3 Fragment24
2.2.4 Intent24
2.2.5 ContentProvider24
2.2.6 Service24
2.2.7 AndroidManifest.xml24
2.2.8 AVD25
2.3 Hello World!25
2.4 AVD29
2.5 在真实设备上运行30
2.6 剖析Android应用程序的结构31
2.7 了解应用程序生命周期33
2.8 简单调试35
2.9 参考资料37
2.10 小结37
2.11 面试问题37
第3章 使用Android资源39
3.1 资源39
3.1.1 字符串资源39
3.1.2 布局资源41
3.1.3 资源引用语法43
3.1.4 定义资源ID供以后使用44
3.1.5 已编译和未编译的Android资源45
3.2 Android关键资源46
3.3 使用任意XML资源文件54
3.4 使用原始资源55
3.5 使用资产56
3.6 了解资源目录结构56
3.7 资源和配置更改56
3.8 参考资料URL59
3.9 小结60
3.10 面试问题60
第4章 ContentProvider62
4.1 探索Android内置的ContentProvider63
4.1.1 在模拟器和可用设备上利用数据库63
4.1.2 快速了解SQLite66
4.2 ContentProvider的架构66
4.2.1 Android内容URI的结构68
4.2.2 Android MIME类型的结构68
4.2.3 使用URI读取数据70
4.2.4 使用游标71
4.2.5 使用where子句72
4.2.6 插入记录74
4.2.7 将文件添加到ContentProvider中75
4.2.8 更新和删除76
4.3 实现ContentProvider76
4.3.1 计划数据库76
4.3.2 扩展ContentProvider78
4.3.3 履行MIME类型契约83
4.3.4 实现query方法83
4.3.5 实现insert方法83
4.3.6 实现update方法84
4.3.7 实现delete方法84
4.3.8 使用UriMatcher来解析URI84
4.3.9 使用投影映射85
4.3.10 注册提供程序86
4.4 练习图书提供程序86
4.4.1 添加图书86
4.4.2 删除图书87
4.4.3 获取图书数量87
4.4.4 显示图书列表87
4.5 资源88
4.6 小结89
4.7 面试问题89
第5章 Intent90
5.1 Android Intent基础知识90
5.2 Android中可用的Intent91
5.3 Intent的组成93
5.3.1 Intent和数据URI93
5.3.2 一般操作94
5.3.3 使用extra信息95
53.4 使用组件直接调用活动96
5.3.5 Intent类别97
5.3.6 将Intent解析为组件的规则99
5.4 练习使用ACTION_PICK101
5.5 练习使用GET_CONTENT操作103
5.6 挂起的Intent104
5.7 资源105
5.8 小结106
5.9 面试问题106
第6章 构建用户界面和使用控件107
6.1 Android中的UI开发107
6.1.1 完全利用代码来构建UI108
6.1.2 完全使用XML构建UI110
6.1.3 使用XML结合代码构建UI111
6.2 Android中的常见控件113
6.2.1 文本控件113
6.2.2 按钮控件116
6.2.3 ImageView控件123
6.2.4 日期和时间控件124
6.2.5 MapView控件127
6.3 适配器127
6.3.1 SimpleCursorAdapter128
6.3.2 了解ArrayAdapter129
6.4 结合使用适配器和AdapterView131
6.4.1 基本的列表控件:ListView131
6.4.2 GridView控件138
6.4.3 Spinner控件140
6.4.4 Gallery控件141
6.4.5 创建自定义适配器142
6.4.6 Android中的其他控件146
6.5 样式和主题147
6.5.1 使用样式147
6.5.2 使用主题149
6.6 布局管理器150
6.6.1 LinearLayout布局管理器150
6.6.2 TableLayout布局管理器153
6.6.3 RelativeLayout布局管理器156
6.6.4 FrameLayout布局管理器157
6.6.5 GridLayout布局管理器159
6.6.6 为各种设备配置自定义布局160
6.7 参考资料161
6.8 小结161
6.9 面试问题161
第7章 使用菜单163
7.1 Android菜单163
7.1.1 创建菜单164
7.1.2 使用菜单组165
7.1.3 响应菜单项166
7.2 使用其他菜单类型168
7.2.1 展开的菜单168
7.2.2 使用图标菜单169
7.2.3 使用子菜单169
7.2.4 使用上下文菜单170
7.2.5 使用交替菜单173
7.2.6 动态菜单175
7.3 通过XML文件加载菜单175
7.3.1 XML菜单资源文件的结构176
7.3.2 填充XML菜单资源文件177
7.3.3 响应基于XML的菜单项177
7.3.4 4.0版本中的弹出式菜单178
7.3.5 其他XML菜单标记简介179
7.4 资源181
7.5 小结181
7.6 面试问题181
第8章 多用途的碎片183
8.1 什么是碎片183
8.1.1 何时使用碎片184
8.1.2 碎片的结构185
8.1.3 碎片的生命周期186
8.1.4 展示生命周期的示例碎片应用程序189
8.2 FragmentTransactions和碎片后退栈194
8.3 FragmentManager196
8.3.1 引用碎片时的注意事项197
8.3.2 保存片段状态198
8.3.3 ListFragments和〈fragment〉198
8.3.4 在需要时调用独立的活动200
8.3.5 碎片的持久化201
8.4 碎片之间的通信方式202
8.5 使用ObjectAnimator自定义动画203
8.6 参考资料205
8.7 小结205
8.8 面试问题206
第9章 对话框207
9.1 使用Android对话框207
9.2 对话框碎片207
9.2.1 DialogFragment的基础知识208
9.2.2 构建对话框碎片208
9.2.3 DialogFragment示例应用程序212
9.3 使用Toast220
9.4 旧版本Android的对话框碎片221
9.5 参考资料221
9.6 小结222
9.7 面试问题222
第10章 ActionBar223
10.1 ActionBar剖析223
10.2 选项卡导航操作栏活动225
10.2.1 实现基础活动类225
10.2.2 为ActionBar分配统一的行为227
10.2.3 实现选项卡监听器229
10.2.4 实现选项卡操作栏活动230
10.2.5 可滚动的调试文本视图布局232
10.2.6 操作栏和菜单交互233
10.2.7 Android描述文件235
10.2.8 测试选项卡操作栏活动235
10.3 列表导航操作栏活动236
10.3.1 创建SpinnerAdapter236
10.3.2 创建列表监听器237
10.3.3 设置列表操作栏237
10.3.4 更改BaseActionBar-Activity238
10.3.5 更改AndroidManifest.xml238
10.3.6 测试列表操作栏活动239
10.4 标准导航操作栏活动240
10.4.1 设置标准导航操作栏活动240
10.4.2 更改BaseActionBar-Activity241
10.4.3 更改AndroidManifest.xml242
10.4.4 测试标准操作栏活动242
10.5 工具栏与搜索视图243
10.5.1 将搜索视图部件定义为菜单项244
10.5.2 配置搜索结果活动244
10.5.3 通过可搜索XML文件自定义搜索245
10.5.4 在配置清单文件中定义搜索结果活动245
10.5.5 确定搜索视图部件的搜索目标245
10.6 操作栏和碎片246
10.7 参考资料246
10.8 小结247
10.9 面试问题247
第11章 高级调试与分析249
11.1 启用高级调试249
11.2 Debug透视图249
11.3 DDMS透视图250
11.4 Hierarchy View透视图252
11.5 Traceview253
11.6 adb命令254
11.7 模拟器控制台255
11.8 StrictMode255
11.8.1 StrictMode策略255
11.8.2 关闭StrictMode256
11.8.3 在旧版本Android上使用StrictMode257
11.8.4 StrictMode练习258
11.9 参考资料259
11.10 小结259
11.11 面试问题259
第12章 响应配置变化261
12.1 配置变化过程261
12.1.1 活动的销毁/创建过程262
12.1.2 碎片的销毁/创建过程263
12.1.3 使用FragmentManager保存碎片状态264
12.1.4 使用碎片的setRetain-Instance264
12.2 弃用的配置变化方法264
12.3 参考资料265
12.4 小结265
12.5 面试问题265
第13章 首选项及保存状态266
13.1 探索首选项框架266
13.1.1 ListPreference266
13.1.2 CheckBoxPreference273
13.1.3 EditTextPreference275
13.1.4 RingtonePreference及MultiSelectListPreference276
13.2 组织首选项276
13.2.1 使用PreferenceCategory276
13.2.2 创建依赖的子首选项279
13.2.3 带标题的首选项279
13.3 以编程方式操作首选项281
13.3.1 使用首选项保存状态281
13.3.2 使用DialogPreference282
13.4 参考资料283
13.5 小结283
13.6 面试问题283
第14章 探索安全性和权限284
14.1 理解Android安全性模型284
14.1.1 安全性概念概述284
14.1.2 为部署签名应用程序285
14.2 执行运行时安全性检查290
14.2.1 进程边界上的安全性290
14.2.2 声明和使用权限290
14.2.3 理解和使用自定义权限292
14.2.4 理解和使用URI权限297
14.3 参考资料298
14.4 小结298
14.5 面试问题299
第15章 构建和使用服务300
15.1 使用HTTP服务300
15.1.1 将HttpClient用于HTTP GET请求300
15.1.2 将HttpClient用于HTTP POST请求(多部分POST请求示例)302
15.1.3 SOAP、JSON和XML分析程序304
15.1.4 处理异常305
15.1.5 解决多线程问题307
15.1.6 有趣的超时309
15.1.7 使用HttpURLConnection310
15.1.8 使用AndroidHttpClient310
15.1.9 使用后台线程(AsyncTask)311
15.1.10 使用DownloadManager获取文件316
15.2 使用Android服务321
15.2.1 Android中的服务322
15.2.2 本地服务323
15.2.3 AIDL服务329
15.2.4 在AIDL中定义服务接口329
15.2.5 实现AIDL接口331
15.2.6 从客户端应用程序调用服务333
15.2.7 向服务传递复杂的类型336
15.3 参考资料345
15.4 小结345
15.5 面试问题346
第16章 包347
16.1 包和进程347
16.1.1 包规范的细节347
16.1.2 将包名称转换为进程名称347
16.1.3 列出安装的包348
16.1.4 通过包浏览器删除包348
16.2 包签名过程回顾349
16.2.1 理解数字签名:场景1349
16.2.2 理解数字签名:场景2350
16.2.3 一种理解数字签名的模式350
16.2.4 数字签名执行方式350
16.2.5 签名过程的影响350
16.3 在包之间共享数据351
16.3.1 共享用户ID的性质351
16.3.2 共享数据的代码模式352
16.4 库项目353
16.4.1 库项目的概念353
16.4.2 库项目的性质353
16.4.3 创建库项目355
16.4.4 创建使用库的Android项目358
16.4.5 使用库项目的注意事项365
16.5 参考资料365
16.6 小结366
16.7 面试问题366
第17章 处理程序368
17.1 Android组件和线程368
17.1.1 活动在主线程上运行369
17.1.2 广播接收程序在主线程上运行369
17.1.3 服务在主线程上运行369
17.1.4 ContentProvider在主线程上运行370
17.1.5 单一主线程的影响370
17.1.6 线程池、ContentProvider及外部服务组件370
17.1.7 线程实用程序:发现线程370
17.2 处理程序371
17.2.1 持有主线程的影响372
17.2.2 使用处理程序延迟主线程上的工作373
17.2.3 延迟工作的处理程序源代码示例373
17.2.4 构造合适的Message对象375
17.2.5 将Message对象发送给队列375
17.2.6 响应handleMessage回调376
17.3 使用工作线程376
17.3.1 从菜单调用工作线程376
17.3.2 在工作线程与主线程之间通信377
17.4 组件和进程寿命380
17.4.1 活动生命周期380
17.4.2 服务生命周期381
17.4.3 接收程序生命周期381
17.4.4 提供程序生命周期382
17.5 参考资料382
17.6 小结382
17.7 面试问题383
第18章 AsyncTask详解384
18.1 实现一个简单的AsyncTask385
18.1.1 实现AsyncTask的泛型385
18.1.2 创建AsyncTask子类386
18.1.3 实现第一个AsyncTask386
18.1.4 调用一个AsyncTask388
18.1.5 onPreExecute()回调方法和进度对话框388
18.1.6 doInBackground()方法389
18.1.7 触发onProgressUpdate()389
18.1.8 onPostExecute()方法390
18.1.9 升级为确定性进度对话框390
18.2 AsyncTask的性质392
18.3 设备旋转与AsyncTask393
18.4 生命周期方法与AsyncTask393
18.5 参考资料393
18.6 小结394
18.7 面试问题394
第19章 广播接收程序和长期运行的服务395
19.1 广播接收程序395
19.1.1 发送广播395
19.1.2 编写简单的接收程序:示例代码396
19.1.3 在描述文件中注册接收程序396
19.1.4 容纳多个接收程序397
19.1.5 进程外接收程序项目399
19.2 从接收程序使用通知399
19.2.1 通过通知管理器监控通知400
19.2.2 发送通知401
19.2.3 在广播接收程序中启用活动404
19.3 长期运行的接收程序和服务404
19.3.1 长期运行的广播接收程序协议404
19.3.2 IntentService405
19.3.3 IntentService源代码406
19.4 为广播接收程序扩展IntentService407
19.4.1 长期运行的广播服务抽象408
19.4.2 长期运行的接收程序409
19.4.3 使用LightedGreenRoom抽象唤醒锁411
19.5 长期运行的服务的实现416
19.5.1 非粘滞性服务的细节417
19.5.2 粘滞性服务的细节417
19.5.3 非粘滞性的变体:重传送(redeliver)Intent418
19.5.4 在onStartCommand中指定服务标志418
19.5.5 挑选合适的粘滞性418
19.5.6 从两个位置控制唤醒锁418
19.5.7 长期运行的服务的实现419
19.5.8 测试长期运行的服务420
19.5.9 开发者的职责420
19.5.10 框架的职责421
19.6 关于项目下载文件的一些说明421
19.7 参考资料422
19.8 小结422
19.9 面试问题422
第20章 闹钟管理器424
20.1 闹钟管理器基本知识:设置一个简单的闹钟424
20.1.1 获取闹钟管理器人的访问权限424
20.1.2 设置闹钟时间424
20.1.3 创建闹钟接收程序425
20.1.4 创建适合闹钟的PendingIntent426
20.1.5 设置闹钟427
20.1.6 测试项目427
20.2 探索其他闹钟管理器场景428
20.2.1 设置重复闹钟428
20.2.2 取消闹钟429
20.2.3 使用多个闹钟430
20.2.4 Intent在设置闹钟时的首要职责432
20.2.5 闹钟的持久化434
20.3 闹钟管理器事实434
20.4 参考资料434
20.5 小结435
20.6 面试问题435
第21章 2D动画揭秘436
21.1 逐帧动画436
21.1.1 计划逐帧动画436
21.1.2 创建活动438
21.1.3 将动画添加到活动439
21.2 布局动画441
21.2.1 基本的补间动画类型442
21.2.2 计划布局动画测试工具442
21.2.3 创建活动和ListView443
21.2.4 将ListView制作成动画445
21.2.5 使用插值器447
21.3 视图动画449
21.3.1 理解视图动画449
21.3.2 添加动画451
21.3.3 使用Camera实现2D图像的深度效果454
21.3.4 探索AnimationListener类455
21.3.5 关于变换矩阵的一些说明456
21.4 属性动画:新动画API457
21.4.1 属性动画458
21.4.2 计划一个属性动画的试验台459
21.4.3 使用对象动画生成器创建基本视图动画461
21.4.4 使用AnimatorSet实现顺序动画462
21.4.5 用AnimatorSetBuilder设置动画关系463
21.4.6 使用XML加载动画生成器463
21.4.7 使用PropertyValuesHolder464
21.4.8 视图属性动画466
21.4.9 类型求值器466
21.4.10 关键帧468
21.4.11 布局转变469
21.5 参考资料470
21.6 小结470
21.7 面试问题471
第22章 地图和基于位置的服务472
22.1 地图包472
22.1.1 从谷歌获取map-api密钥473
22.1.2 MapView和MapActivity474
22.1.3 使用覆盖图添加标记479
22.2 位置包484
22.2.1 使用Android进行地理编码484
22.2.2 使用后台线程进行地理编码487
22.2.3 LocationManager服务489
22.2.4 使用MyLocationOverlay显示位置495
22.2.5 使用接近提醒498
22.3 参考资料502
22.4 小结502
22.5 面试问题503
第23章 电话API504
23.1 使用SMS504
23.1.1 发送SMS消息504
23.1.2 监视传入的SMS消息507
23.1.3 使用SMS文件夹509
23.1.4 发送电子邮件511
23.2 使用电话管理器511
23.3 SIP514
23.3.1 体验SipDemo514
23.3.2 android.net.sip包515
23.4 参考资料516
23.5 小结517
23.6 面试问题517
第24章 媒体框架518
24.1 使用媒体API518
24.2 播放媒体522
24.2.1 播放音频内容522
24.2.2 播放视频内容532
24.3 录制媒体534
24.3.1 使用MediaRecorder录制音频535
24.3.2 使用AudioRecord录制音频538
24.3.3 视频录制542
24.3.4 MediaStore类551
24.3.5 使用Intnet录制音频551
24.3.6 将媒体内容添加到媒体存储554
24.3.7 为整个SD卡触发MediaScanner556
24.4 参考资料557
24.5 小结557
24.6 面试问题558
第25章 主屏幕部件559
25.1 主屏幕部件的架构559
25.1.1 什么是主屏幕部件559
25.1.2 主屏幕部件的用户体验560
25.1.3 部件的生命周期563
25.2 示例部件应用程序567
25.2.1 定义部件提供程序568
25.2.2 定义部件尺寸569
25.2.3 与部件布局相关的文件570
25.2.4 实现部件提供程序571
25.2.5 实现部件模型573
25.2.6 实现部件配置活动579
25.3 部件预览工具582
25.4 部件局限性和扩展583
25.5 基于容器的部件583
25.6 资源583
25.7 小结584
25.8 面试问题584
第26章 列表部件586
26.1 远程视图概述586
26.2 在远程视图中使用列表587
26.2.1 准备远程布局588
26.2.2 加载远程布局590
26.2.3 创建RemoteViewsService591
26.2.4 创建RemoteViewsFactory592
26.2.5 创建onClick事件595
26.2.6 响应onClick事件597
26.3 工作样例:测试主屏幕列表部件598
26.3.1 创建测试部件提供程序599
26.3.2 创建远程视图工厂602
26.3.3 编写远程视图服务的代码604
26.3.4 部件主布局文件604
26.3.5 部件提供程序元数据604
26.3.6 AndroidManifest.xml605
26.4 测试列表部件605
26.5 参考资料607
26.6 小结608
26.7 面试问题608
第27章 触摸屏609
27.1 MotionEvent609
27.1.1 MotionEvent对象609
27.1.2 回收MotionEvent619
27.1.3 使用VelocityTracker619
27.2 多点触摸621
27.3 触摸地图627
27.4 手势629
27.4.1 捏合手势629
27.4.2 GestureDetector和OnGestureListener629
27.4.3 自定义手势632
27.4.4 Gestures Builder应用程序632
27.5 参考资料638
27.6 小结638
27.7 面试问题638
第28章 实现拖放操作640
28.1 拖放操作简介640
28.2 3.0及其以上版本的基本拖放操作644
28.3 拖放操作示例应用程序645
28.3.1 文件列表646
28.3.2 示例拖放应用程序的布局646
28.3.3 响应Dropzone的onDrag事件648
28.3.4 创建拖动源视图650
28.4 测试示例拖放应用程序653
28.5 参考资料654
28.6 小结654
28.7 面试问题654
第29章 传感器655
29.1 什么是传感器655
29.1.1 检测传感器656
29.1.2 可以了解的传感器信息656
29.2 获取传感器事件658
29.3 解释传感器数据661
29.3.1 光线传感器661
29.3.2 接近传感器661
29.3.3 温度传感器662
29.3.4 压力传感器662
29.3.5 陀螺仪传感器662
29.3.6 加速度计663
29.3.7 磁场传感器667
29.3.8 结合使用加速度计和磁场传感器668
29.3.9 方向传感器668
29.3.10 磁偏角和Geomagnetic-Field673
29.3.11 重力传感器673
29.3.12 直线加速度传感器674
29.3.13 旋转矢量传感器674
29.3.14 近场通信传感器674
29.4 参考资料683
29.5 小结683
29.6 面试问题684
第30章 联系人API685
30.1 账户685
30.1.1 账户屏幕概览686
30.1.2 账户与联系人的相关性688
30.1.3 枚举账户689
30.2 联系人应用程序689
30.2.1 个人账号简介691
30.2.2 显示联系人692
30.2.3 显示联系人详细信息692
30.2.4 编辑联系人详细信息693
30.2.5 设置联系人的照片694
30.2.6 导出联系人694
30.2.7 各种联系人数据类型696
30.3 联系人696
30.3.1 联系人SQLite数据库697
30.3.2 原始联系人697
30.3.3 数据表699
30.3.4 聚合联系人700
30.3.5 view contacts701
30.3.6 contact entities view702
30.4 联系人API703
30.4.1 浏览账户703
30.4.2 浏览聚合联系人705
30.4.3 浏览原始联系人712
30.4.4 浏览原始联系人数据715
30.4.5 添加联系人和它的详细信息718
30.5 控制聚合720
30.6 同步的影响720
30.7 个人账号721
30.7.1 读取账号原始联系人722
30.7.2 读取账号联系人数据722
30.7.3 添加数据到个人账号723
30.8 参考资料725
30.9 小结725
30.10 面试问题726
第31章 部署应用程序Android Market727
31.1 成为发布者727
31.1.1 遵守规则728
31.1.2 开发人员控制台729
31.2 准备销售应用程序731
31.2.1 针对不同设备进行测试732
31.2.2 支持不同的屏幕尺寸732
31.2.3 准备上传AndroidManifest.xml732
31.2.4 本地化应用程序733
31.2.5 准备应用程序图标734
31.2.6 付费应用程序需要考虑的因素734
31.2.7 将用户引导至Market735
31.2.8 Android授权服务735
31.2.9 使用ProGuard来优化及对抗盗版行为736
31.2.10 准备上传.apk文件737
31.3 上传应用程序738
31.3.1 图表738
31.3.2 列出详细信息739
31.3.3 发布选项739
31.3.4 联系信息740
31.3.5 需遵守的规定740
31.4 Android Market上的用户体验741
31.5 更多发布途径742
31.6 参考资料742
31.7 小结743
31.8 面试问题743