种豆资源网

当前位置:首页 > 百科 > 百科综合 / 正文

Android 4高级编程(第3版)

(2019-11-18 21:37:18) 百科综合
Android 4高级编程(第3版)

Android 4高级编程(第3版)

《Android 4高级编程(第3版)》是2015年清华大学出版社出版的图书。

基本介绍

  • 书名:Android 4高级编程(第3版)
  • ISBN:9787302315582
  • 定价:98元
  • 出版社:清华大学出版社
  • 出版时间:2015-4-9
  • 装帧:平装

图书简介

《Android 4高级编程(第3版)》由Android权威专家编写,涵盖了所有最新的内容,是学习使用Android 4 SDK开发移动应用程式的理想指南。本书见解深刻,帮助经验丰富的Android开发人员充分挖掘Android 4的新特性的潜力,同时讲解了Android开发的基础知识,使初学者也可以藉助本书入门。作为一本以实用性为目的的指导图书,本书带领您逐步完成複杂程度越来越高的Android项目,每个项目中都引入一种新的Android平台特性,并着重指出有助于编写引人入胜的应用程式的技术和最佳实践。

目录

第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.9CloudtoDeviceMessaging 8
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和MonkeyRunner 43
第3章创建应用程式和Activity 45
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深入探讨AndroidActivity 74
3.8.1创建Activity 74
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使用布局创建设备无关的UI 87
4.3.3最佳化布局 90
4.4To-DoList示例 93
4.5Fragment介绍 100
4.5.1创建新的Fragment 101
4.5.2Fragment的生命周期 101
4.5.3FragmentManager介绍 105
4.5.4向Activity中添加Fragment 105
4.5.5Fragment和Activity之间的
接口 110
4.5.6没有用户界面的Fragment 111
4.5.7AndroidFragment类 112
4.5.8对To-DoList示例使用
Fragment 112
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定製ArrayAdapter 138
4.8.3使用Adapter绑定数据到
视图 139
第5章Intent和BroadcastReceiver 145
5.1Intent简介 145
5.1.1使用Intent来启动Activity 146
5.1.2Linkify简介 153
5.1.3使用Intent广播事件 155
5.1.4LocalBroadcastManager 159
5.1.5PendingIntent简介 160
5.2创建IntentFilter和Broadcast
Receiver 161
5.2.1使用IntentFilter为隐式Intent
提供服务 161
5.2.2使用IntentFilter作为外挂程式和
扩展 170
5.2.3监听本地BroadcastIntent 173
5.2.4使用BroadcastIntent监控设备的
状态变化 174
5.2.5在运行时管理Manifest
Receiver 176
第6章使用Internet资源 177
6.1下载和分析Internet资源 177
6.1.1连线Internet资源 178
6.1.2使用XMLPullParser分析
XML 179
6.1.3创建一个地震查看器 180
6.2使用DownloadManager 186
6.2.1下载档案 186
6.2.2自定义DownloadManager
Notification 187
6.2.3指定下载位置 188
6.2.4取消和删除下载 189
6.2.5查询DownloadManager 189
6.3使用Internet服务 192
6.4连线到GoogleAppEngine 192
6.5下载数据而不会耗尽电量的
最佳实践 194
第7章档案、保存状态和首选项 195
7.1保存简单的应用程式数据 195
7.2创建并保存SharedPreference 196
7.3检索SharedPreference 197
7.4为地震查看器创建一个设定
Activity 197
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向后兼容性与Preference
Screen 210
7.5.6找到并使用PreferenceScreen
设定的SharedPreference 210
7.5.7SharedPreferenceChange
Listener简介 211
7.6为地震查看器创建一个标準的
PreferenceActivity 211
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章资料库和ContentProvider 223
8.1Android资料库简介 223
8.1.1SQLite资料库简介 224
8.1.2ContentProvider简介 224
8.2SQLite简介 224
8.3ContentValue和Cursor 225
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创建ContentProvider 232
8.5.1注册ContentProvider 233
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使用ContentProvider 244
8.6.1ContentResolver简介 244
8.6.2查询ContentProvider 244
8.6.3使用CursorLoader异步查询
内容 247
8.6.4添加、删除和更新内容 249
8.6.5访问ContentProvider中存储的
档案 251
8.6.6创建一个To-DoList资料库和
ContentProvider 253
8.7将搜寻功能添加到应用程式中 260
8.7.1使ContentProvider可搜寻 261
8.7.2为应用程式创建一个搜寻
Activity 261
8.7.3将搜寻Activity设定为套用
程式的默认搜寻Provider 263
8.7.4使用搜寻视图微件 266
8.7.5由ContentProvider支持搜寻
建议 267
8.7.6在快速搜寻框中显示搜寻
结果 270
8.8创建可搜寻的地震Content
Provider 270
8.8.1创建ContentProvider 270
8.8.2使用地震ContentProvider 276
8.8.3搜寻EarthquakeContent
Provider 279
8.9本地AndroidContentProvider 285
8.9.1使用MediaStoreContent
Provider 285
8.9.2使用ContactsContractContent
Provider 286
8.9.3使用CalendarContent
Provider 293
第9章在后台操作 297
9.1Service简介 298
9.1.1创建和控制Service 298
9.1.2将Service绑定到Activity 302
9.1.3地震监控Service示例 304
9.1.4创建前台Service 308
9.2使用后台执行绪 309
9.2.1使用AsyncTask运行异步任务 310
9.2.2IntentService简介 312
9.2.3Loader简介 313
9.2.4手动创建执行绪和GUI执行绪
同步 313
9.3使用Alarm 315
9.3.1创建、设定和取消Alarm 316
9.3.2设定重複Alarm 317
9.3.3使用重複Alarm调度网路
刷新 318
9.4使用IntentService简化Earthquake
更新Service 320
第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创建Toast 361
10.7.1自定义Toast 362
10.7.2在工作执行绪中使用Toast 364
10.8Notification简介 365
10.8.1NotificationManager简介 366
10.8.2创建Notification 366
10.8.3设定和自定义通知托盘UI 369
10.8.4配置持续和连续的
Notification 373
10.8.5触发、更新和取消
Notification 374
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强化View 404
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创建基于地图的Activity 482
13.8.1MapView和MapActivity
简介 482
13.8.2获得地图的APIkey 483
13.8.3创建一个基于地图的
Activity 483
13.8.4地图和Fragment 485
13.8.5配置和使用MapView 486
13.8.6使用MapController 486
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创建AppWidgets 509
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刷新Widget 518
14.2.6创建并使用Widget配置
Activity 521
14.3创建地震Widget 522
14.4CollectionViewWidget简介 528
14.4.1创建CollectionViewWidget的
布局 529
14.4.2创建RemoteViewsService 530
14.4.3创建一个RemoteViews-
Factory 531
14.4.4使用RemoteViewsService
填充CollectionViewWidget 533
14.4.5向CollectionViewWidget
中的项添加互动性 534
14.4.6将CollectionViewWidget
绑定到ContentProvider 535
14.4.7刷新CollectionView
Widget 537
14.4.8创建EarthquakeCollection
ViewWidget 537
14.5LiveFolder简介 543
14.5.1创建LiveFolder 544
14.5.2创建EarthquakeLiveFolder 548
14.6使用快速搜寻框显示应用程式
搜寻结果 551
14.6.1在快速搜寻框中显示搜寻
结果 551
14.6.2将Earthquake示例的搜寻
结果添加到快速搜寻框中 552
14.7创建LiveWallpaper 553
14.7.1创建LiveWallpaper定义
资源 553
14.7.2创建WallpaperService 554
14.7.3创建WallpaperService
引擎 555
第15章音频、视频以及摄像头的
使用 557
15.1播放音频和视频 558
15.1.1MediaPlayer简介 559
15.1.2準备音频播放 559
15.1.3準备视频播放 560
15.1.4控制MediaPlayer的
播放 564
15.1.5管理媒体播放输出 566
15.1.6回响音量控制 566
15.1.7回响Media播放控制项 567
15.1.8请求和管理音频焦点 569
15.1.9当音频输出改变时暂停
播放 571
15.1.10RemoteControlClient简介 572
15.2操作原始音频 574
15.2.1使用AudioRecord录製
声音 574
15.2.2使用AudioTrack播放音频 575
15.3创建一个SoundPool 577
15.4使用音效 578
15.5使用摄像头拍摄照片 579
15.5.1使用Intent拍摄照片 579
15.5.2直接控制摄像头 581
15.5.3读取并写入JPEGEXIF图像
详细信息 588
15.6录製视频 589
15.6.1使用Intent录製视频 589
15.6.2使用MediaRecorder录製
视频 590
15.7使用媒体效果 593
15.8向媒体库中添加新媒体 594
15.8.1使用媒体扫瞄器插入媒体 594
15.8.2手动插入媒体 595
第16章蓝牙、NFC、网路和Wi-Fi 597
16.1使用蓝牙 597
16.1.1管理本地蓝牙设备适配器 598
16.1.2可发现性和远程设备发现 600
16.1.3蓝牙通信 604
16.2管理网路和Internet连线 609
16.2.1ConnectivityManager简介 609
16.2.2支持用户首选项以进行后台
数据传输 609
16.2.3查找和监视网路连线 611
16.3管理Wi-Fi 612
16.3.1监视Wi-Fi连线 613
16.3.2监视活动的Wi-Fi连线的
详细信息 613
16.3.3扫描热点 613
16.3.4管理Wi-Fi配置 614
16.3.5创建Wi-Fi网路配置 615
16.4使用Wi-FiDirect传输数据 615
16.4.1初始化Wi-FiDirect框架 615
16.4.2启用Wi-FiDirect并监视其
状态 617
16.4.3发现对等设备 618
16.4.4连线对等设备 618
16.4.5在对等设备之间传输数据 620
16.5近场通信 621
16.5.1读取NFC标籤 622
16.5.2使用前台分派系统 623
16.5.3AndroidBeam简介 625
第17章电话服务和SMS 629
17.1电话服务的硬体支持 629
17.1.1将电话功能指定为必需的
硬体功能 629
17.1.2检查电话硬体 630
17.2使用电话服务 630
17.2.1启动电话呼叫 630
17.2.2替换本机拨号程式 631
17.2.3访问电话服务的属性及状态 632
17.2.4使用PhoneStateListener
监视电话状态的变化 635
17.2.5使用IntentReceiver监视传入的
电话呼叫 639
17.3SMS和MMS简介 640
17.3.1在应用程式中使用SMS和
MMS 640
17.3.2使用Intent从应用程式中
传送SMS和MMS 640
17.3.3使用SMSManager传送
SMS讯息 641
17.3.4监听传入的SMS讯息 644
17.3.5紧急回响程式SMS示例 646
17.3.6自动紧急回响程式 654
17.4SIP和VOIP简介 662
第18章Android高级开发 663
18.1Android的安全性 664
18.1.1Linux核心安全 664
18.1.2许可权简介 664
18.2CloudtoDeviceMessaging简介 666
18.2.1C2DM的局限性 667
18.2.2注册使用C2DM 667
18.2.3在C2DM伺服器上注册
设备 667
18.2.4向设备传送C2DM讯息 670
18.2.5接收C2DM讯息 672
18.3使用LicenseVerificationLibrary
实现着作权保护 673
18.3.1安装LicenseVerification
Library 673
18.3.2获得LicenseVerification
公钥 673
18.3.3配置LicenseValidation
Policy 674
18.3.4执行许可验证检查 674
18.4应用程式内收费 675
18.4.1应用程式内收费的局限性 676
18.4.2安装IAB库 676
18.4.3获得公钥和定义可购买的
物品 676
18.4.4开始IAB交易 677
18.4.5处理IAB购买请求的回响 678
18.5使用WakeLock 679
18.6使用AIDL支持Service的
IPC 680
18.7处理不同硬体和软体的可用性 686
18.7.1指定硬体的要求 686
18.7.2确认硬体可用性 687
18.7.3构建向后兼容的应用程式 687
18.8利用STRICT模式最佳化UI
性能 689
第19章推广和发布应用程式并从中
获利 691
19.1签名和发布应用程式 691
19.2发布应用程式 693
19.2.1GooglePlay简介 693
19.2.2开始使用GooglePlay 694
19.2.3发布应用程式 695
19.2.4开发者控制台上的应用程式
报告 697
19.2.5查看应用程式错误报告 697
19.3如何通过应用程式赚钱 698
19.4应用程式销售、推广和分发的
策略 699
19.4.1应用程式的起步策略 699
19.4.2在GooglePlay上推广 700
19.4.3国际化 700
19.5分析数据和跟蹤推荐人 701
19.5.1使用移动应用程式的Google
Analytics 702
19.5.2使用GoogleAnalytics追蹤
推荐 703

标 签

搜索
随机推荐

Powered By 种豆资源网||