Android 4高级编程第3版.docx
《Android 4高级编程第3版.docx》由会员分享,可在线阅读,更多相关《Android 4高级编程第3版.docx(22页珍藏版)》请在冰豆网上搜索。
![Android 4高级编程第3版.docx](https://file1.bdocx.com/fileroot1/2023-4/16/a654b6f2-2d9a-4c1f-bdb5-85de7a76603c/a654b6f2-2d9a-4c1f-bdb5-85de7a76603c1.gif)
Android4高级编程第3版
Android4高级编程(第3版)
《Android4高级编程(第3版)》
基本信息
原书名:
ProfessionalAndroid4ApplicationDevelopment
作者:
(英)RetoMeier
译者:
佘建伟赵凯
丛书名:
移动开发经典丛书
出版社:
清华大学出版社
ISBN:
9787302315582
上架时间:
2013-4-23
出版日期:
2013年4月
开本:
16开
页码:
1
版次:
3-1
所属分类:
计算机>软件与程序设计>移动开发>Android
内容简介
计算机书籍
《Android4高级编程(第3版)》由Android权威专家编写,涵盖了所有最新的内容,是学习使用Android4SDK开发移动应用程序的理想指南。
本书见解深刻,帮助经验丰富的Android开发人员充分挖掘Android4的新特性的潜力,同时讲解了Android开发的基础知识,使初学者也可以借助本书入门。
作为一本以实用性为目的的指导图书,本书带领您逐步完成复杂程度越来越高的Android项目,每个项目中都引入一种新的Android平台特性,并着重指出有助于编写引人入胜的应用程序的技术和最佳实践。
本书特色
◆深入分析了Android应用程序的组件和生命周期
◆探讨了Android的UI原理、设计理念和UIAPI,使用户界
面在手机、平板电脑和电视上都引人注目
◆介绍了创建基于地图的应用程序和使用基于位置的服务
的相关知识
◆解释了如何创建后台服务、通知和CloudtoDeviceMessaging
◆演示了如何创建动态的、交互式的主屏幕微件和Live
Wallpaper
◆探索了硬件和通信API,包括蓝牙、电话、Wi-FiDirect、
NFC和AndroidBeam
◆讲解了摄像头和硬件传感器的使用
◆详述了新的动画框架和其他增强用户体验的特性,包括
拖放、ActionBar和Fragment
◆新增了关于应用程序发布的一章内容
◆介绍了LicenseVerification和应用程序内收费服务
《android4高级编程(第3版)》
第1章android简介1
1.1一些背景信息2
1.1.1不远的过去2
1.1.2未来的前景2
1.2对android的误解3
1.3android:
开放的移动开发平台3
1.4原生android应用程序4
1.5androidsdk的特征5
1.5.1访问硬件(包括摄像头、gps和传感器)5
1.5.2使用wi-fi、蓝牙技术和nfc进行数据传输6
1.5.3地图、地理编码和基于位置的服务6
1.5.4后台服务6
1.5.5使用sqlite数据库进行数据存储和检索7
1.5.6共享数据和应用程序间通信7
1.5.7使用widget和livewallpaper增强主屏幕7
1.5.8广泛的媒体支持和2d/3d图形7
1.5.9cloudtodevicemessaging8
1.5.10优化的内存和进程管理8
1.6开放手机联盟简介8
1.7运行android的环境9
1.8从事移动开发的原因9
1.9从事android开发的原因9
1.9.1推动android普及的因素10
1.9.2android的独到之处10
1.9.3改变移动开发格局11
1.10开发框架简介11
1.10.1开发包中的资源12
1.10.2理解android软件栈12
1.10.3dalvik虚拟机14
1.10.4android应用程序架构14
1.10.5android库15
第2章开始入手17
2.1android开发18
2.1.1开始前的准备工作18
2.1.2创建第一个android应用程序24
2.1.3android应用程序的类型31
2.2面向移动设备和嵌入式设备的开发32
2.2.1硬件限制带来的设计考虑事项32
2.2.2考虑用户环境35
2.2.3android开发36
2.3android开发工具40
2.3.1android虚拟设备管理器41
2.3.2androidsdk管理器42
2.3.3android模拟器42
2.3.4dalvik调试监控服务(ddms)42
2.3.5android调试桥(adb)43
2.3.6hierarchyviewer和lint工具43
2.3.7monkey和monkeyrunner43
第3章创建应用程序和activity45
3.1android应用程序的组成部分46
3.2应用程序manifest文件简介47
3.3使用manifest编辑器54
3.4分离资源55
3.4.1创建资源55
3.4.2使用资源63
3.4.3为不同的语言和硬件创建资源66
3.4.4运行时配置更改68
3.5android应用程序生命周期70
3.6理解应用程序的优先级和进程状态70
3.7androidapplication类简介72
3.7.1扩展和使用application类72
3.7.2重写应用程序的生命周期事件73
3.8深入探讨androidactivity74
3.8.1创建activity74
3.8.2activity的生存期76
3.8.3androidactivity类81
第4章创建用户界面83
4.1androidui基本设计84
4.2androidui的基础知识84
4.3布局简介85
4.3.1定义布局86
4.3.2使用布局创建设备无关的ui87
4.3.3优化布局90
4.4to-dolist示例93
4.5fragment介绍100
4.5.1创建新的fragment101
4.5.2fragment的生命周期101
4.5.3fragmentmanager介绍105
4.5.4向activity中添加fragment105
4.5.5fragment和activity之间的接口110
4.5.6没有用户界面的fragment111
4.5.7androidfragment类112
4.5.8对to-dolist示例使用fragment112
4.6androidwidget工具箱116
4.7创建新视图117
4.7.1修改现有的视图118
4.7.2创建复合控件122
4.7.3使用布局创建简单的复合控件124
4.7.4创建定制的视图124
4.7.5使用定制的控件137
4.8adapter简介137
4.8.1部分原生adapter简介138
4.8.2定制arrayadapter138
4.8.3使用adapter绑定数据到视图139
第5章intent和broadcastreceiver145
5.1intent简介145
5.1.1使用intent来启动activity146
5.1.2linkify简介153
5.1.3使用intent广播事件155
5.1.4localbroadcastmanager159
5.1.5pendingintent简介160
5.2创建intentfilter和broadcastreceiver161
5.2.1使用intentfilter为隐式intent提供服务161
5.2.2使用intentfilter作为插件和扩展170
5.2.3监听本地broadcastintent173
5.2.4使用broadcastintent监控设备的状态变化174
5.2.5在运行时管理manifestreceiver176
第6章使用internet资源177
6.1下载和分析internet资源177
6.1.1连接internet资源178
6.1.2使用xmlpullparser分析xml179
6.1.3创建一个地震查看器180
6.2使用downloadmanager186
6.2.1下载文件186
6.2.2自定义downloadmanagernotification187
6.2.3指定下载位置188
6.2.4取消和删除下载189
6.2.5查询downloadmanager189
6.3使用internet服务192
6.4连接到googleappengine192
6.5下载数据而不会耗尽电量的最佳实践194
第7章文件、保存状态和首选项195
7.1保存简单的应用程序数据195
7.2创建并保存sharedpreference196
7.3检索sharedpreference197
7.4为地震查看器创建一个设置activity197
7.5首选项框架和preferenceactivity概述205
7.5.1在xml中定义一个preferencescreen布局206
7.5.2preferencefragment简介208
7.5.3使用preferenceheader定义preferencefragment的层次结构208
7.5.4preferenceactivity简介209
7.5.5向后兼容性与preferencescreen210
7.5.6找到并使用preferencescreen设置的sharedpreference210
7.5.7sharedpreferencechangelistener简介211
7.6为地震查看器创建一个标准的preferenceactivity211
7.7持久化应用程序实例的状态215
7.7.1使用sharedpreference保存activity状态215
7.7.2使用生命周期处理程序保存和还原activity实例215
7.7.3使用生命周期处理程序保存和还原fragment实例状态216
7.8将静态文件作为资源添加218
7.9在文件系统下工作218
7.9.1文件管理工具218
7.9.2使用特定于应用程序的文件夹存储文件219
7.9.3创建私有的应用程序文件219
7.9.4使用应用程序文件缓存220
7.9.5存储公共可读的文件220
第8章数据库和contentprovider223
8.1android数据库简介223
8.1.1sqlite数据库简介224
8.1.2contentprovider简介224
8.2sqlite简介224
8.3contentvalue和cursor225
8.4使用sqlite数据库225
8.4.1sqliteopenhelper简介226
8.4.2在不使用sqliteopenhelper的情况下打开和创建数据库228
8.4.3android数据库设计注意事项228
8.4.4查询数据库228
8.4.5从cursor中提取值229
8.4.6添加、更新和删除行230
8.5创建contentprovider232
8.5.1注册contentprovider233
8.5.2发布contentprovider的uri地址233
8.5.3创建contentprovide的数据库234
8.5.4实现contentprovider查询235
8.5.5contentprovider事务236
8.5.6在contentprovider中存储文件239
8.5.7一个contentprovider的实现框架240
8.6使用contentprovider244
8.6.1contentresolver简介244
8.6.2查询contentprovider244
8.6.3使用cursorloader异步查询内容247
8.6.4添加、删除和更新内容249
8.6.5访问contentprovider中存储的文件251
8.6.6创建一个to-dolist数据库和contentprovider253
8.7将搜索功能添加到应用程序中260
8.7.1使contentprovider可搜索261
8.7.2为应用程序创建一个搜索activity261
8.7.3将搜索activity设置为应用程序的默认搜索provider263
8.7.4使用搜索视图微件266
8.7.5由contentprovider支持搜索建议267
8.7.6在快速搜索框中显示搜索结果270
8.8创建可搜索的地震contentprovider270
8.8.1创建contentprovider270
8.8.2使用地震contentprovider276
8.8.3搜索earthquakecontentprovider279
8.9本地androidcontentprovider285
8.9.1使用mediastorecontentprovider285
8.9.2使用contactscontractcontentprovider286
8.9.3使用calendarcontentprovider293
第9章在后台操作297
9.1service简介298
9.1.1创建和控制service298
9.1.2将service绑定到activity302
9.1.3地震监控service示例304
9.1.4创建前台service308
9.2使用后台线程309
9.2.1使用asynctask运行异步任务310
9.2.2intentservice简介312
9.2.3loader简介313
9.2.4手动创建线程和gui线程同步313
9.3使用alarm315
9.3.1创建、设置和取消alarm316
9.3.2设置重复alarm317
9.3.3使用重复alarm调度网络刷新318
9.4使用intentservice简化earthquake更新service320
第10章扩展用户体验323
10.1操作栏简介324
10.1.1自定义操作栏325
10.1.2自定义操作栏来控制应用程序的导航行为328
10.1.3操作栏操作简介333
10.2向地震监控程序添加一个操作栏333
10.3创建并使用菜单和操作栏操作项339
10.3.1android菜单系统简介340
10.3.2创建菜单341
10.3.3指定操作栏的操作342
10.3.4菜单项选项343
10.3.5添加操作view和操作提供程序344
10.3.6在fragment中添加菜单项345
10.3.7使用xml定义菜单层次结构345
10.3.8动态更新菜单项347
10.3.9处理菜单选择347
10.3.10子菜单和上下文菜单简介348
10.4更新地震监控程序351
10.5全屏显示353
10.6对话框简介355
10.6.1创建一个对话框356
10.6.2使用alertdialog类356
10.6.3使用专门的输入对话框357
10.6.4通过dialogfragment管理和显示对话框358
10.6.5通过activity事件处理程序管理和显示对话框360
10.6.6将activity用作对话框361
10.7创建toast361
10.7.1自定义toast362
10.7.2在工作线程中使用toast364
10.8notification简介365
10.8.1notificationmanager简介366
10.8.2创建notification366
10.8.3设置和自定义通知托盘ui369
10.8.4配置持续和连续的notification373
10.8.5触发、更新和取消notification374
10.9向地震监控程序中添加notification和对话框376
第11章高级用户体验381
11.1为每个屏幕尺寸和分辨率做设计382
11.1.1分辨率无关382
11.1.2为不同的屏幕大小提供支持和优化383
11.1.3创建可缩放的图形资源386
11.1.4创建优化的、自适应的、动态的设计390
11.1.5反复测试390
11.2确保可访问性391
11.2.1为非触屏设备提供导航391
11.2.2为每个view提供文本描述391
11.3androidtext-to-speech简介392
11.4使用语音识别394
11.4.1使用语音识别进行语音输入395
11.4.2使用语音识别进行搜索396
11.5控制设备振动396
11.6使用动画397
11.6.1补间view动画397
11.6.2创建和使用逐帧动画400
11.6.3插值属性动画400
11.7强化view404
11.7.1高级canvas绘图404
11.7.2硬件加速419
11.7.3surfaceview简介420
11.7.4创建交互式控件423
11.8高级drawable资源428
11.9复制、粘贴和剪贴板431
11.9.1向剪贴板中复制数据431
11.9.2粘贴剪贴板数据431
第12章硬件传感器433
12.1使用传感器和传感器管理器433
12.1.1受支持的android传感器434
12.1.2虚拟传感器简介435
12.1.3查找传感器435
12.1.4监视传感器436
12.1.5解释传感器值438
12.2监视设备的移动和方向439
12.2.1确定设备的自然方向440
12.2.2加速计简介441
12.2.3检测加速度变化442
12.2.4创建一个重力计443
12.2.5确定设备方向446
12.2.6创建一个指南针和人工地平仪450
12.2.7陀螺仪传感器简介453
12.3环境传感器简介454
12.3.1使用气压计传感器454
12.3.2创建气象站455
第13章地图、地理编码和基于位置的服务461
13.1使用基于位置的服务461
13.2在模拟器中使用基于位置的服务462
13.2.1更新模拟器位置提供器中的位置463
13.2.2配置模拟器来测试基于位置的服务463
13.3选择一个位置提供器464
13.3.1查找位置提供器464
13.3.2通过指定条件查找位置提供器464
13.3.3确定位置提供器的能力465
13.4确定当前位置466
13.4.1位置的隐私性466
13.4.2找出上一次确定的位置466
13.4.3whereami示例466
13.4.4刷新当前位置469
13.4.5在whereami中跟踪位置472
13.4.6请求单独一次位置更新473
13.5位置更新的最佳实践474
13.6使用近距离提醒477
13.7使用地理编码器478
13.7.1反向地理编码479
13.7.2前向地理编码480
13.7.3对“whereami”示例进行地理编码481
13.8创建基于地图的activity482
13.8.1mapview和mapactivity简介482
13.8.2获得地图的apikey483
13.8.3创建一个基于地图的activity483
13.8.4地图和fragment485
13.8.5配置和使用mapview486
13.8.6使用mapcontroller486
13.8.7对“whereami”示例使用地图487
13.8.8创建和使用覆盖(overlay)490
13.8.9mylocationoverlay简介497
13.8.10itemizedoverlay和overlayitem简介498
13.8.11将视图固定到地图和地图的某个位置上500
13.9对earthquake示例添加地图功能501
第14章个性化主屏幕507
14.1主屏幕widget简介507
14.2创建appwidgets509
14.2.1创建widget的xml布局资源509
14.2.2定义widget设置511
14.2.3创建widgetbroadcastreceiver并将其添加到应用程序的manifest文件中512
14.2.4appwidgetmanager和remoteview简介513
14.2.5刷新widget518
14.2.6创建并使用widget配置activity521
14.3创建地震widget522
14.4collectionviewwidget简介528
14.4.1创建collectionviewwidget的布局529
14.4.2创建remoteviewsservice530
14.4.3创建一个remoteviews-factory531
14.4.4使用r