::资源简介::
ANDROID4高级编程[第3版],1
译者序,5
作者简介,6
前言,7
目录,12
第01章 Android简介,20
1_1 一些背景信息,21
1_1_1 不远的过去,21
1_1_2 未来的前景,21
1_2 对Android的误解,22
1_3 Android开放的移动开发平台,22
1_4 原生Android应用程序,23
1_5 Android_SDK的特征,24
1_5_1 访问硬件[包括摄像头/GPS和传感器],24
1_5_2 使用Wi-Fi/蓝牙技术和NFC进行数据传输,25
1_5_3 地图/地理编码和基于位置的服务,25
1_5_4 后台服务,25
1_5_5 使用SQLite数据库进行数据存储和检索,26
1_5_6 共享数据和应用程序间通信,26
1_5_7 使用Widget和Live_Wallpaper增强主屏幕,26
1_5_8 广泛的媒体支持和2D/3D图形,26
1_5_9 Cloud_to_Device_Messaging,27
1_5_10 优化的内存和进程管理,27
1_6 开放手机联盟简介,27
1_7 运行Android的环境,28
1_8 从事移动开发的原因,28
1_9 从事Android开发的原因,28
1_9_1 推动Android普及的因素,29
1_9_2 Android的独到之处,29
1_9_3 改变移动开发格局,30
1_10 开发框架简介,30
1_10_1 开发包中的资源,31
1_10_2 理解Android软件栈,31
1_10_3 Dalvik虚拟机,33
1_10_4 Android应用程序架构,33
1_10_5 Android库,34
第02章 开始入手,36
2_1 Android开发,37
2_1_1 开始前的准备工作,37
2_1_2 创建第一个Android应用程序,43
2_1_3 Android应用程序的类型,50
2_2 面向移动设备和嵌入式设备的开发,51
2_2_1 硬件限制带来的设计考虑事项,51
2_2_2 考虑用户环境,54
2_2_3 Android开发,55
2_3 Android开发工具,59
2_3_1 Android虚拟设备管理器,60
2_3_2 Android_SDK管理器,61
2_3_3 Android模拟器,61
2_3_4 Dalvik调试监控服务[DDMS],61
2_3_5 Android调试桥[ADB],62
2_3_6 Hierarchy_Viewer和Lint工具,62
2_3_7 Monkey和Monkey_Runner,62
第03章 创建应用程序和Activity,64
3_1 Android应用程序的组成部分,65
3_2 应用程序Manifest文件简介,66
3_3 使用Manifest编辑器,73
3_4 分离资源,74
3_4_1 创建资源,74
3_4_2 使用资源,82
3_4_3 为不同的语言和硬件创建资源,85
3_4_4 运行时配置更改,87
3_5 Android应用程序生命周期,89
3_6 理解应用程序的优先级和进程状态,89
3_7 Android_Application类简介,91
3_7_1 扩展和使用Application类,91
3_7_2 重写应用程序的生命周期事件,92
3_8 深入探讨Android_Activity,93
3_8_1 创建Activity,93
3_8_2 Activity的生存期,95
3_8_3 Android_Activity类,100
第04章 创建用户界面,102
4_1 Android_UI基本设计,103
4_2 Android_UI的基础知识,103
4_3 布局简介,104
4_3_1 定义布局,105
4_3_2 使用布局创建设备无关的UI,106
4_3_3 优化布局,109
4_4 To-Do_List示例,112
4_5 Fragment介绍,119
4_5_1 创建新的Fragment,120
4_5_2 Fragment的生命周期,120
4_5_3 Fragment_Manager介绍,124
4_5_4 向Activity中添加Fragment,124
4_5_5 Fragment和Activity之间的接口,129
4_5_6 没有用户界面的Fragment,130
4_5_7 Android_Fragment_类,131
4_5_8 对To-Do_List示例使用Fragment,131
4_6 Android_widget_工具箱,135
4_7 创建新视图,136
4_7_1 修改现有的视图,137
4_7_2 创建复合控件,141
4_7_3 使用布局创建简单的复合控件,143
4_7_4 创建定制的视图,143
4_7_5 使用定制的控件,156
4_8 Adapter简介,156
4_8_1 部分原生Adapter简介,157
4_8_2 定制ArrayAdapter,157
4_8_3 使用Adapter绑定数据到视图,158
第05章 Intent和Broadcast_Receiver,164
5_1 Intent简介,164
5_1_1 使用Intent来启动Activity,165
5_1_2 Linkify简介,172
5_1_3 使用Intent广播事件,174
5_1_4 Local_Broadcast_Manager,178
5_1_5 Pending_Intent简介,179
5_2 创建Intent_Filter和Broadcast_Receiver,180
5_2_1 使用Intent_Filter为隐式Intent提供服务,180
5_2_2 使用Intent_Filter作为插件和扩展,189
5_2_3 监听本地Broadcast_Intent,192
5_2_4 使用Broadcast_Intent监控设备的状态变化,193
5_2_5 在运行时管理Manifest_Receiver,195
第06章 使用Internet资源,196
6_1 下载和分析Internet资源,196
6_1_1 连接Internet资源,197
6_1_2 使用XML_Pull_Parser分析XML,198
6_1_3 创建一个地震查看器,199
6_2 使用Download_Manager,205
6_2_1 下载文件,205
6_2_2 自定义Download_Manager_Notification,206
6_2_3 指定下载位置,207
6_2_4 取消和删除下载,208
6_2_5 查询Download_Manager,208
6_3 使用Internet服务,211
6_4 连接到Google_App_Engine,211
6_5 下载数据而不会耗尽电量的最佳实践,213
第07章 文件/保存状态和首选项,214
7_1 保存简单的应用程序数据,214
7_2 创建并保存Shared_Preference,215
7_3 检索Shared_Preference,216
7_4 为地震查看器创建一个设置Activity,216
7_5 首选项框架和Preference_Activity概述,224
7_5_1 在XML中定义一个Preference_Screen布局,225
7_5_2 Preference_Fragment简介,227
7_5_3 使用Preference_Header定义Preference_Fragment的层次结构,227
7_5_4 Preference_Activity简介,228
7_5_5 向后兼容性与Preference_Screen,229
7_5_6 找到并使用Preference_Screen设置的Shared_Preference,229
7_5_7 Shared_Preference_Change_Listener简介,230
7_6 为地震查看器创建一个标准的Preference_Activity,230
7_7 持久化应用程序实例的状态,234
7_7_1 使用Shared_Preference保存Activity状态,234
7_7_2 使用生命周期处理程序保存和还原Activity实例,234
7_7_3 使用生命周期处理程序保存和还原Fragment实例状态,235
7_8 将静态文件作为资源添加,237
7_9 在文件系统下工作,237
7_9_1 文件管理工具,237
7_9_2 使用特定于应用程序的文件夹存储文件,238
7_9_3 创建私有的应用程序文件,238
7_9_4 使用应用程序文件缓存,239
7_9_5 存储公共可读的文件,239
第08章 数据库和Content_Provider,242
8_1 Android数据库简介,242
8_1_1 SQLite数据库简介,243
8_1_2 Content_Provider简介,243
8_2 SQLite简介,243
8_3 Content_Value和Cursor,244
8_4 使用SQLite数据库,244
8_4_1 SQLiteOpenHelper简介,245
8_4_2 在不使用SQLiteOpenHelper的情况下打开和创建数据库,247
8_4_3 Android数据库设计注意事项,247
8_4_4 查询数据库,247
8_4_5 从Cursor中提取值,248
8_4_6 添加/更新和删除行,249
8_5 创建Content_Provider,251
8_5_1 注册Content_Provider,252
8_5_2 发布Content_Provider的URI地址,252
8_5_3 创建Content_Provide的数据库,253
8_5_4 实现Content_Provider查询,254
8_5_5 Content_Provider事务,255
8_5_6 在Content_Provider中存储文件,258
8_5_7 一个Content_Provider的实现框架,259
8_6 使用Content_Provider,263
8_6_1 Content_Resolver简介,263
8_6_2 查询Content_Provider,263
8_6_3 使用Cursor_Loader异步查询内容,266
8_6_4 添加/删除和更新内容,268
8_6_5 访问Content_Provider中存储的文件,270
8_6_6 创建一个To-Do_List数据库和Content_Provider,272
8_7 将搜索功能添加到应用程序中,279
8_7_1 使Content_Provider可搜索,280
8_7_2 为应用程序创建一个搜索Activity,280
8_7_3 将搜索Activity设置为应用程序的默认搜索Provider,282
8_7_4 使用搜索视图微件,285
8_7_5 由Content_Provider支持搜索建议,286
8_7_6 在快速搜索框中显示搜索结果,289
8_8 创建可搜索的地震Content_Provider,289
8_8_1 创建Content_Provider,289
8_8_2 使用地震Content_Provider,295
8_8_3 搜索EarthquakeContent_Provider,298
8_9 本地Android_Content_Provider,304
8_9_1 使用Media_StoreContent_Provider,304
8_9_2 使用Contacts_Contract_Content_Provider,305
8_9_3 使用Calendar_Content_Provider,312
第09章 在后台操作,316
9_1 Service简介,317
9_1_1 创建和控制Service,317
9_1_2 将Service绑定到Activity,321
9_1_3 地震监控Service示例,323
9_1_4 创建前台Service,327
9_2 使用后台线程,328
9_2_1 使用AsyncTask运行异步任务,329
9_2_2 Intent_Service简介,331
9_2_3 Loader简介,332
9_2_4 手动创建线程和GUI线程同步,332
9_3 使用Alarm,334
9_3_1 创建/设置和取消Alarm,335
9_3_2 设置重复Alarm,336
9_3_3 使用重复Alarm调度网络刷新,337
9_4 使用Intent_Service简化Earthquake更新Service,339
第10章 扩展用户体验,342
10_1 操作栏简介,343
10_1_1 自定义操作栏,344
10_1_2 自定义操作栏来控制应用程序的导航行为,347
10_1_3 操作栏操作简介,352
10_2 向地震监控程序添加一个操作栏,352
10_3 创建并使用菜单和操作栏操作项,358
10_3_1 Android菜单系统简介,359
10_3_2 创建菜单,360
10_3_3 指定操作栏的操作,361
10_3_4 菜单项选项,362
10_3_5 添加操作View和操作提供程序,363
10_3_6 在Fragment中添加菜单项,364
10_3_7 使用XML定义菜单层次结构,364
10_3_8 动态更新菜单项,366
10_3_9 处理菜单选择,366
10_3_10 子菜单和上下文菜单简介,367
10_4 更新地震监控程序,370
10_5 全屏显示,372
10_6 对话框简介,374
10_6_1 创建一个对话框,375
10_6_2 使用AlertDialog类,375
10_6_3 使用专门的输入对话框,376
10_6_4 通过Dialog_Fragment管理和显示对话框,377
10_6_5 通过Activity事件处理程序管理和显示对话框,379
10_6_6 将Activity用作对话框,380
10_7 创建Toast,380
10_7_1 自定义Toast,381
10_7_2 在工作线程中使用Toast,383
10_8 Notification简介,384
10_8_1 Notification_Manager简介,385
10_8_2 创建Notification,385
10_8_3 设置和自定义通知托盘UI,388
10_8_4 配置持续和连续的Notification,392
10_8_5 触发/更新和取消Notification,393
10_9 向地震监控程序中添加Notification和对话框,395
第11章 高级用户体验,400
11_1 为每个屏幕尺寸和分辨率做设计,401
11_1_1 分辨率无关,401
11_1_2 为不同的屏幕大小提供支持和优化,402
11_1_3 创建可缩放的图形资源,405
11_1_4 创建优化的/自适应的/动态的设计,409
11_1_5 反复测试,409
11_2 确保可访问性,410
11_2_1 为非触屏设备提供导航,410
11_2_2 为每个View提供文本描述,410
11_3 Android_Text-to-Speech简介,411
11_4 使用语音识别,413
11_4_1 使用语音识别进行语音输入,414
11_4_2 使用语音识别进行搜索,415
11_5 控制设备振动,415
11_6 使用动画,416
11_6_1 补间View动画,416
11_6_2 创建和使用逐帧动画,419
11_6_3 插值属性动画,419
11_7 强化View,423
11_7_1 高级Canvas绘图,423
11_7_2 硬件加速,438
11_7_3 Surface_View简介,439
11_7_4 创建交互式控件,442
11_8 高级Drawable资源,447
11_9 复制/粘贴和剪贴板,450
11_9_1 向剪贴板中复制数据,450
11_9_2 粘贴剪贴板数据,450
第12章 硬件传感器,452
12_1 使用传感器和传感器管理器,452
12_1_1 受支持的Android传感器,453
12_1_2 虚拟传感器简介,454
12_1_3 查找传感器,454
12_1_4 监视传感器,455
12_1_5 解释传感器值,457
12_2 监视设备的移动和方向,458
12_2_1 确定设备的自然方向,459
12_2_2 加速计简介,460
12_2_3 检测加速度变化,461
12_2_4 创建一个重力计,462
12_2_5 确定设备方向,465
12_2_6 创建一个指南针和人工地平仪,469
12_2_7 陀螺仪传感器简介,472
12_3 环境传感器简介,473
12_3_1 使用气压计传感器,473
12_3_2 创建气象站,474
第13章 地图/地理编码和基于位置的服务,480
13_1 使用基于位置的服务,480
13_2 在模拟器中使用基于位置的服务,481
13_2_1 更新模拟器位置提供器中的位置,482
13_2_2 配置模拟器来测试基于位置的服务,482
13_3 选择一个位置提供器,483
13_3_1 查找位置提供器,483
13_3_2 通过指定条件查找位置提供器,483
13_3_3 确定位置提供器的能力,484
13_4 确定当前位置,485
13_4_1 位置的隐私性,485
13_4_2 找出上一次确定的位置,485
13_4_3 Where_Am_I示例,485
13_4_4 刷新当前位置,488
13_4_5 在Where_Am_I中跟踪位置,491
13_4_6 请求单独一次位置更新,492
13_5 位置更新的最佳实践,493
13_6 使用近距离提醒,496
13_7 使用地理编码器,497
13_7_1 反向地理编码,498
13_7_2 前向地理编码,499
13_7_3 对“Where_Am_I”示例进行地理编码,500
13_8 创建基于地图的Activity,501
13_8_1 MapView和MapActivity简介,501
13_8_2 获得地图的API_key,502
13_8_3 创建一个基于地图的Activity,502
13_8_4 地图和Fragment,504
13_8_5 配置和使用MapView,505
13_8_6 使用MapController,505
13_8_7 对“Where_Am_I”示例使用地图,506
13_8_8 创建和使用覆盖[Overlay],509
13_8_9 MyLocationOverlay简介,516
13_8_10 ItemizedOverlay和OverlayItem简介,517
13_8_11 将视图固定到地图和地图的某个位置上,519
13_9 对Earthquake示例添加地图功能,520
第14章 个性化主屏幕,526
14_1 主屏幕Widget简介,526
14_2 创建App_Widgets,528
14_2_1 创建Widget的XML布局资源,528
14_2_2 定义Widget设置,530
14_2_3 创建Widget_Broadcast_Receiver并将其添加到应用程序的manifest文件中,531
14_2_4 AppWidgetManager和RemoteView简介,532
14_2_5 刷新Widget,537
14_2_6 创建并使用Widget配置Activity,540
14_3 创建地震Widget,541
14_4 Collection_View_Widget简介,547
14_4_1 创建Collection_View_Widget的布局,548
14_4_2 创建RemoteViewsService,549
14_4_3 创建一个RemoteViews-Factory,550
14_4_4 使用RemoteViewsService填充CollectionViewWidget,552
14_4_5 向Collection_View_Widget中的项添加交互性,553
14_4_6 将Collection_View_Widget绑定到Content_Provider,554
14_4_7 刷新Collection_View_Widget,556
14_4_8 创建Earthquake_Collection_View_Widget,556
14_5 Live_Folder简介,562
14_5_1 创建Live_Folder,563
14_5_2 创建Earthquake_Live_Folder,567
14_6 使用快速搜索框显示应用程序搜索结果,570
14_6_1 在快速搜索框中显示搜索结果,570
14_6_2 将Earthquake示例的搜索结果添加到快速搜索框中,571
14_7 创建Live_Wallpaper,572
14_7_1 创建Live_Wallpaper定义资源,572
14_7_2 创建Wallpaper_Service,573
14_7_3 创建Wallpaper_Service引擎,574
第15章 音频/视频以及摄像头的使用,576
15_1 播放音频和视频,577
15_1_1 Media_Player简介,578
15_1_2 准备音频播放,578
15_1_3 准备视频播放,579
15_1_4 控制Media_Player的播放,583
15_1_5 管理媒体播放输出,585
15_1_6 响应音量控制,585
15_1_7 响应Media播放控件,586
15_1_8 请求和管理音频焦点,588
15_1_9 当音频输出改变时暂停播放,590
15_1_10 Remote_Control_Client简介,591
15_2 操作原始音频,593
15_2_1 使用AudioRecord录制声音,593
15_2_2 使用AudioTrack播放音频,594
15_3 创建一个Sound_Pool,596
15_4 使用音效,597
15_5 使用摄像头拍摄照片,598
15_5_1 使用Intent拍摄照片,598
15_5_2 直接控制摄像头,600
15_5_3 读取并写入JPEG_EXIF图像详细信息,607
15_6 录制视频,608
15_6_1 使用Intent录制视频,608
15_6_2 使用MediaRecorder录制视频,609
15_7 使用媒体效果,612
15_8 向媒体库中添加新媒体,613
15_8_1 使用媒体扫描仪插入媒体,613
15_8_2 手动插入媒体,614
第16章 蓝牙/NFC/网络和Wi-Fi,616
16_1 使用蓝牙,616
16_1_1 管理本地蓝牙设备适配器,617
16_1_2 可发现性和远程设备发现,619
16_1_3 蓝牙通信,623
16_2 管理网络和Internet连接,628
16_2_1 Connectivity_Manager简介,628
16_2_2 支持用户首选项以进行后台数据传输,628
16_2_3 查找和监视网络连接,630
16_3 管理Wi-Fi,631
16_3_1 监视Wi-Fi连接,632
16_3_2 监视活动的Wi-Fi连接的详细信息,632
16_3_3 扫描热点,632
16_3_4 管理Wi-Fi配置,633
16_3_5 创建Wi-Fi网络配置,634
16_4 使用Wi-Fi_Direct传输数据,634
16_4_1 初始化Wi-Fi_Direct框架,634
16_4_2 启用Wi-Fi_Direct并监视其状态,636
16_4_3 发现对等设备,637
16_4_4 连接对等设备,637
16_4_5 在对等设备之间传输数据,639
16_5 近场通信,640
16_5_1 读取NFC标签,641
16_5_2 使用前台分派系统,642
16_5_3 Android_Beam简介,644
第17章 电话服务和SMS,648
17_1 电话服务的硬件支持,648
17_1_1 将电话功能指定为必需的硬件功能,648
17_1_2 检查电话硬件,649
17_2 使用电话服务,649
17_2_1 启动电话呼叫,649
17_2_2 替换本机拨号程序,650
17_2_3 访问电话服务的属性及状态,651
17_2_4 使用PhoneStateListener监视电话状态的变化,654
17_2_5 使用Intent_Receiver监视传入的电话呼叫,658
17_3 SMS和MMS简介,659
17_3_1 在应用程序中使用SMS和MMS,659
17_3_2 使用Intent从应用程序中发送SMS和MMS,659
17_3_3 使用SMS_Manager发送SMS消息,660
17_3_4 监听传入的SMS消息,663
17_3_5 紧急响应程序SMS示例,665
17_3_6 自动紧急响应程序,673
17_4 SIP和VOIP简介,681
第18章 Android高级开发,682
18_1 Android的安全性,683
18_1_1 Linux内核安全,683
18_1_2 权限简介,683
18_2 Cloud_to_Device_Messaging简介,685
18_2_1 C2DM的局限性,686
18_2_2 注册使用C2DM,686
18_2_3 在C2DM服务器上注册设备,686
18_2_4 向设备发送C2DM消息,689
18_2_5 接收C2DM消息,691
18_3 使用License_Verification_Library实现版权保护,692
18_3_1 安装License_Verification_Library,692
18_3_2 获得License_Verification公钥,692
18_3_3 配置License_Validation_Policy,693
18_3_4 执行许可验证检查,693
18_4 应用程序内收费,694
18_4_1 应用程序内收费的局限性,695
18_4_2 安装IAB库,695
18_4_3 获得公钥和定义可购买的物品,695
18_4_4 开始IAB交易,696
18_4_5 处理IAB购买请求的响应,697
18_5 使用Wake_Lock,698
18_6 使用AIDL支持Service的IPC,699
18_7 处理不同硬件和软件的可用性,705
18_7_1 指定硬件的要求,705
18_7_2 确认硬件可用性,706
18_7_3 构建向后兼容的应用程序,706
18_8 利用STRICT模式优化UI性能,708
第19章 推广和发布应用程序并从中获利,710
19_1 签名和发布应用程序,710
19_2 发布应用程序,712
19_2_1 Google_Play简介,712
19_2_2 开始使用Google_Play,713
19_2_3 发布应用程序,714
19_2_4 开发者控制台上的应用程序报告,716
19_2_5 查看应用程序错误报告,716
19_3 如何通过应用程序赚钱,717
19_4 应用程序销售/推广和分发的策略,718
19_4_1 应用程序的起步策略,718
19_4_2 在Google_Play上推广,719
19_4_3 国际化,719
19_5 分析数据和跟踪推荐人,720
19_5_1 使用移动应用程序的Google_Analytics,721
19_5_2 使用Google_Analytics追踪推荐,722
::下载地址::
>> 评论