商家名称 | 信用等级 | 购买信息 | 订购本书 |
![]() |
精通Android 3(克曼特内呢著作)[平装] | ![]() |
|
![]() |
精通Android 3(克曼特内呢著作)[平装] | ![]() |
第11章 构建和使用服务244
11.1 使用HTTP服务244
11.1.1 将Http Client用于HTTPGET请求244
11.1.2 将Http Client用于HTTPPOST请求(多部分POST请求示例)246
11.1.3 SOAP、JSON和XML分析程序248
11.1.4 处理异常249
11.1.5 解决多线程问题251
11.1.6 有趣的超时253
11.1.7 使用HttpURLConnection254
11.1.8 使用AndroidHttpClient254
11.1.9 使用后台线程(Async Task)255
11.1.1 0使用Async Task处理配置更改260
11.1.1 1使用Download Manager获取文件265
11.2 使用Android服务270
11.2.1 Android中的服务270
11.2.2 本地服务271
11.2.3 AIDL服务277
11.2.4 在AIDL中定义服务接口278
11.2.5 实现AIDL接口280
11.2.6 从客户端应用程序调用服务282
11.2.7 向服务传递复杂的类型285
11.3 使用服务的真实示例294
11.3.1 Google翻译API294
11.3.2 使用Google翻译API295
11.4 参考资料303
11.5 小结303
第12章 包304
12.1 包和进程304
12.1.1 包规范的细节304
12.1.2 将包名称转换为进程名称304
12.1.3 列出安装的包305
12.1.4 通过包浏览器删除包305
12.2 包签名过程回顾306
12.2.1 理解数字签名:场景1306
12.2.2 理解数字签名:场景2306
12.2.3 一种理解数字签名的模式307
12.2.4 数字签名执行方式307
12.2.5 签名过程的影响307
12.3 在包之间共享数据308
12.3.1 共享用户ID的性质308
12.3.2 共享数据的代码模式309
12.4 库项目309
12.4.1 库项目的概念310
12.4.2 库项目的性质310
12.4.3 创建库项目312
12.4.4 创建使用库的Android项目314
12.5 参考资料320
12.6 小结320
第13章 处理程序321
13.1 Android组件和线程321
13.1.1 活动在主线程上运行322
13.1.2 广播接收程序在主线程上运行322
13.1.3 服务在主线程上运行322
13.1.4 Content Provider在主线程上运行322
13.1.5 单一主线程的影响323
13.1.6 线程池、Content Provider、外部服务组件323
13.1.7 线程实用程序:发现线程323
13.2 处理程序324
13.2.1 持有主线程的影响325
13.2.2 使用处理程序延迟主线程上的工作325
13.2.3 延迟工作的处理程序源代码示例327
13.2.4 构造合适的Message对象327
13.2.5 将Message对象发送给队列328
13.2.6 响应handle Message回调328
13.3 使用工作线程328
13.3.1 从菜单调用工作线程329
13.3.2 在工作线程与主线程之间通信330
13.3.3 线程行为概述332
13.4 处理程序示例驱动程序类332
13.4.1 驱动程序活动文件333
13.4.2 布局文件336
13.4.3 菜单文件336
13.4.4 描述文件336
13.5 组件和进程寿命337
13.5.1 活动生命周期337
13.5.2 服务生命周期338
13.5.3 接收程序生命周期338
13.5.4 提供程序生命周期339
13.6 代码编译说明339
13.6.1 从ZIP文件创建项目339
13.6.2 从代码清单创建项目340
13.7 参考资料340
13.8 小结341
第14章 广播接收程序和长期运行的服务342
14.1 广播接收程序342
14.1.1 发送广播342
14.1.2 编写简单的接收程序:示例代码343
14.1.3 在描述文件中注册接收程序344
14.1.4 发送测试广播344
14.1.5 容纳多个接收程序348
14.1.6 进程外接收程序项目349
14.2 从接收程序使用通知350
14.2.1 通过通知管理器监控通知350
14.2.2 发送通知352
14.3 长期运行的接收程序和服务354
14.3.1 长期运行的广播接收程序协议355
14.3.2 Intent Service356
14.3.3 Intent Service源代码356
14.4 为广播接收程序扩展IntentService358
14.4.1 长期运行的广播服务抽象358
14.4.2 长期运行的接收程序360
14.4.3 使用Lighted Green Room抽象唤醒锁362
14.5 长期运行的服务的实现367
14.5.1 非粘滞性服务的细节368
14.5.2 粘滞性服务的细节368
14.5.3 非粘滞性的变体:重传送(redeliver)Intent368
14.5.4 在on Start Command中指定服务标志369
14.5.5 挑选合适的粘滞性369
14.5.6 从两个位置控制唤醒锁369
14.5.7 长期运行的服务的实现369
14.5.8 测试长期运行的服务371
14.6 代码编译说明372
14.6.1 从ZIP文件创建项目372
14.6.2 通过代码清单创建项目372
14.7 参考资料374
14.8 小结374
第15章 闹钟管理器375
15.1 闹钟管理器基本知识:设置一个简单的闹钟375
15.1.1 获取闹钟管理器375
15.1.2 设置闹钟时间375
15.1.3 设置闹钟接收程序376
15.1.4 创建适合闹钟的Pending Intent377
15.1.5 设置闹钟377
15.1.6 测试项目378
15.2 探索其他闹钟管理器场景384
15.2.1 设置重复闹钟384
15.2.2 取消闹钟386
15.2.3 使用多个闹钟388
15.2.4 Intent在设置闹钟时的首要职责391
15.2.5 闹钟的持久化394
15.3 闹钟管理器事实394
15.4 参考资料394
15.5 小结395
第16章 2D动画揭秘396
16.1 逐帧动画396
16.1.1 计划逐帧动画396
16.1.2 创建活动398
16.1.3 将动画添加到活动399
16.2 布局动画401
16.2.1 基本的补间动画类型402
16.2.2 计划布局动画测试工具402
16.2.3 创建活动和List View403
16.2.4 将List View制作成动画405
16.2.5 使用插值器408
16.3 视图动画409
16.3.1 理解视图动画409
16.3.2 添加动画412
16.3.3 使用Camera实现2D图像的深度效果415
16.3.4 探索Animation Listener类416
16.3.5 关于变换矩阵的一些说明416
16.4 资源417
16.5 小结418
第17章 地图和基于位置的服务419
17.1 地图包419
17.1.1 从Google获取map-api密钥419
17.1.2 Map View和Map Activity421
17.1.3 使用覆盖图添加标记426
17.2 位置包431
17.2.1 使用Android进行地理编码431
17.2.2 使用后台线程进行地理编码434
17.2.3 Location Manager服务437
17.2.4 使用My Location Overlay显示位置443
17.2.5 使用接近提醒447
17.3 参考资料451
17.4 小结451
第18章 电话API452
18.1 使用SMS452
18.1.1 发送SMS消息452
18.1.2 监视传入的SMS消息455
18.1.3 使用SMS文件夹457
18.1.4 发送电子邮件459
18.2 使用电话管理器459
18.3 SIP462
18.4 参考资料464
18.5 小结464
第19章 媒体框架465
19.1 使用媒体API465
19.2 播放媒体468
19.2.1 播放音频内容469
19.2.2 播放视频内容478
19.3 录制媒体481
19.3.1 使用Media Recorder录制音频481
19.3.2 使用Audio Record录制音频485
19.3.3 视频录制489
19.3.4 Media Store类497
19.3.5 使用Intnet录制音频498
19.3.6 将媒体内容添加到媒体存储501
19.3.7 为整个SD卡触发MediaScanner503
19.3.8 参考资料503
19.4 小结503
第20章 使用OpenGL进行3D图形编程504
20.1 了解OpenGL的历史和背景505
20.1.1 OpenGLES505
20.1.2 Open GLES与JavaME506
20.1.3 M3G:另一种JavaME3D图形标准506
20.2 OpenGL的基本原理507
20.2.1 使用Open GLES进行基本绘制507
20.2.2 OpenGL照相机和坐标512
20.3 在Android中使用OpenGLES515
20.3.1 使用GL Surface View和相关类515
20.3.2 实现Renderer515
20.3.3 通过Activity使用GLSurfaceView518
20.3.4 更改照相机设置523
20.3.5 使用索引添加另一个三角形524
20.3.6 为简单的OpenGL三角形制作动画526
20.4 OpenGL的运用:形状和纹理528
20.4.1 绘制矩形528
20.4.2 使用形状530
20.4.3 使用纹理541
20.4.4 绘制多个图形546
20.5 OpenGLES2.0548
20.5.1 针对OpenGLES2.0的Java绑定549
20.5.2 呈现步骤552
20.5.3 着色器552
20.5.4 将着色器编译到程序中553
20.5.5 访问着色器程序变量555
20.5.6 简单的ES2.0三角形555
20.5.7 关于Open GLES2.0的更多阅读材料558
20.6 代码编译说明559
20.7 小结560
第21章 活动文件夹561
21.1 探索活动文件夹561
21.1.1 用户如何使用活动文件夹562
21.1.2 构建活动文件夹565
21.2 代码编译说明573
21.3 参考资料573
21.4 小结573
第22章 主屏幕部件575
22.1 主屏幕部件的架构575
22.1.1 什么是主屏幕部件575
22.1.2 主屏幕部件的用户体验576
22.1.3 部件的生命周期578
22.2 示例部件应用程序582
22.2.1 定义部件提供程序583
22.2.2 定义部件尺寸584
22.2.3 与部件布局相关的文件586
22.2.4 实现部件提供程序586
22.2.5 实现部件模型589
22.2.6 实现部件配置活动595
22.3 部件局限性和扩展598
22.4 资源599
22.5 小结599
第23章 Android搜索600
23.1 Android搜索体验600
23.1.1 探索Android全局搜索601
23.1.2 为全局搜索启用建议提供程序606
23.2 活动与搜索键交互608
23.2.1 常规活动上的搜索键行为609
23.2.2 禁用了搜索的活动的行为615
23.2.3 通过菜单显式调用搜索617
23.2.4 本地搜索和相关活动620
23.2.5 启用键入搜索625
23.3 实现简单建议提供程序626
23.3.1 计划简单建议提供程序626
23.3.2 简单建议提供程序实现文件626
23.3.3 实现Simple Suggestion-Provider类627
23.3.4 简单建议提供程序搜索活动630
23.3.5 搜索调用方活动634
23.3.6 简单建议提供程序用户体验636
23.4 实现自定义建议提供程序638
23.4.1 计划自定义建议提供程序638
23.4.2 Suggest URL Provider项目实现文件639
23.4.3 实现Suggest Url Provider类639
23.4.4 实现自定义建议提供程序的搜索活动647
23.4.5 自定义建议提供程序描述文件652
23.4.6 自定义建议用户体验653
23.5 使用操作键和应用程序特有的搜索数据655
23.5.1 在Android搜索中使用操作键655
23.5.2 使用应用程序特定的搜索上下文658
23.6 资源659
23.7 对平板电脑的意义659
23.8 小结660
第24章 文本到语音转换661
24.1 Android中的文本到语音转换661
24.2 使用语段跟踪语音665
24.3 使用音频文件代替话音666
24.4 TTS引擎的高级功能672
24.4.1 设置音频流673
24.4.2 使用耳标673
24.4.3 播放静音674
24.4.4 选择不同的文本到语音转换引擎674
24.4.5 使用语言方法674
24.5 参考资料675
24.6 小结676
第25章 触摸屏677
25.1 Motion Event677
25.1.1 Motion Event对象677
25.1.2 回收MotionEvent687
25.1.3 使用VelocityTracker687
25.1.4 探索拖放操作689
25.2 多点触摸692
25.2.1 Android2.2 之前的多点触摸692
25.2.2 自Android2.2 开始的多点触摸699
25.3 触摸地图699
25.4 手势702
25.4.1 捏合手势702
25.4.2 Gesture Detector和OnGestureListener705
25.4.3 自定义手势707
25.4.4 Gestures Builder应用程序708
25.5 参考资料713
25.6 小结714
第26章 传感器715
26.1 什么是传感器715
26.1.1 检测传感器716
26.1.2 可以了解的传感器信息716
26.2 获取传感器事件718
26.3 解释传感器数据727
26.3.1 光线传感器727
26.3.2 接近传感器727
26.3.3 温度传感器727
26.3.4 压力传感器728
26.3.5 陀螺仪传感器728
26.3.6 加速度计728
26.3.7 磁场传感器733
26.3.8 结合使用加速度计和磁场传感器734
26.3.9 方向传感器734
26.3.10磁偏角和GeomagneticField740
26.3.11重力传感器740
26.3.12直线加速度传感器740
26.3.13旋转矢量传感器740
26.3.14近场通信传感器741
26.4 参考资料749
26.5 小结749
第27章 联系人API750
27.1 账户750
27.1.1 账户屏幕概览750
27.1.2 账户与联系人的相关性754
27.1.3 枚举账户754
27.2 联系人应用程序754
27.2.1 显示联系人755
27.2.2 显示联系人详细信息755
27.2.3 编辑联系人详细信息756
27.2.4 设置联系人的照片758
27.2.5 导出联系人758
27.2.6 各种联系人数据类型759
27.3 联系人760
27.3.1 内容SQLite数据库760
27.3.2 原始联系人761
27.3.3 数据表762
27.3.4 聚合联系人763
27.3.5 view_contacts765
27.3.6 contact_entities_view765
27.4 联系人API766
27.4.1 浏览账户766
27.4.2 浏览聚合联系人773
27.4.3 浏览原始联系人781
27.4.4 浏览原始联系人数据785
27.4.5 添加联系人和它的详细信息788
27.5 控制聚合790
27.6 同步的影响791
27.7 参考资料792
27.8 小结792
第28章 使用AndroidMarket793
28.1 成为发布者793
28.1.1 遵守规则794
28.1.2 开发人员控制台795
28.2 准备销售应用程序798
28.2.1 针对不同设备进行测试798
28.2.2 支持不同的屏幕尺寸798
28.2.3 准备上传AndroidManifest.xml799
28.2.4 本地化应用程序800
28.2.5 准备应用程序图标800
28.2.6 付费应用程序考虑因素801
28.2.7 将用户引导至Market801
28.2.8 Android授权服务802
28.2.9 准备上传.apk文件802
28.3 上传应用程序803
28.4 Android Market上的用户体验805
28.5 更多发布途径806
28.6 参考资料807
28.7 小结807
第29章 多用途的碎片808
29.1 什么是碎片808
29.1.1 何时使用碎片809
29.1.2 碎片的结构809
29.1.3 碎片的生命周期810
29.1.4 展示生命周期的示例碎片应用程序814
29.2 Fragment Transactions和碎片后退栈821
29.3 Fragment Manager823
29.3.1 引用碎片时的注意事项824
29.3.2 List Fragments和〈fragment〉824
29.3.3 在需要时调用独立的活动828
29.3.4 碎片的持久化830
29.4 对话框碎片831
29.4.1 Dialog Fragment基础知识831
29.4.2 Dialog Fragments示例应用程序835
29.5 碎片之间的更多通信方式846
29.6 使用Object Animator自定义动画847
29.7 参考资料849
29.8 小结850
推荐阅读:
更多图书资讯可访问读书人图书频道:http://www.reader8.net/book/