当前位置:首页 > 工业技术
Android 4高级编程  第3版
Android 4高级编程  第3版

Android 4高级编程 第3版PDF电子书下载

工业技术

  • 电子书积分:20 积分如何计算积分?
  • 作 者:(美)迈耶著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302315582
  • 页数:703 页
图书介绍:本书由谷歌的首席Android developer advocates编写,通过一系列能够让读者亲身实践的项目,清楚地讲解所有Android SDK 4版本的功能,以及OpenGL、cloud-to-device messaging等高级功能。
《Android 4高级编程 第3版》目录
标签:编程

第1章 Android简介 1

1.1一些背景信息 2

1.1.1不远的过去 2

1.1.2未来的前景 2

1.2对Android的误解 3

1.3 Android:开放的移动开发平台 3

1.4原生Android应用程序 4

1.5 Android SDK的特征 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和Live Wallpaper增强主屏幕 7

1.5.8广泛的媒体支持和2D/3D图形 7

1.5.9 Cloud to Device Messaging 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.2 Android的独到之处 10

1.9.3改变移动开发格局 11

1.10开发框架简介 11

1.10.1开发包中的资源 12

1.10.2理解Android软件栈 12

1.10.3 Dalvik虚拟机 14

1.10.4 Android应用程序架构 14

1.10.5 Android库 15

第2章 开始入手 17

2.1 Android开发 18

2.1.1开始前的准备工作 18

2.1.2创建第一个Android应用程序 24

2.1.3 Android应用程序的类型 31

2.2面向移动设备和嵌入式设备的开发 32

2.2.1硬件限制带来的设计考虑事项 32

2.2.2考虑用户环境 35

2.2.3 Android开发 36

2.3 Android开发工具 40

2.3.1 Android虚拟设备管理器 41

2.3.2 Android SDK管理器 42

2.3.3 Android模拟器 42

2.3.4 Dalvik调试监控服务(DDMS) 42

2.3.5 Android调试(ADB) 43

2.3.6 Hierarchy Viewer和Lint工具 43

2.3.7 Monkey和Monkey Runner 43

第3章 创建应用程序和Activity 45

3.1 Android应用程序的组成部分 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.5 Android应用程序生命周期 70

3.6理解应用程序的优先级和进程状态 70

3.7 Android Application类简介 72

3.7.1扩展和使用Application类 72

3.7.2重写应用程序的生命周期事件 73

3.8深入探讨AndroidActivity 74

3.8.1创建Activity 74

3.8.2 Activity的生存期 76

3.8.3 Android Activity类 81

第4章 创建用户界面 83

4.1 Android UI基本设计 84

4.2 Android UI的基础知识 84

4.3布局简介 85

4.3.1定义布局 86

4.3.2使用布局创建设备无关的UI 87

4.3.3优化布局 90

4.4 To-Do List示例 93

4.5 Fragment介绍 100

4.5.1创建新的Fragment 101

4.5.2 Fragment的生命周期 101

4.5.3 Fragment Manager介绍 105

4.5.4向Activity中添加Fragment 105

4.5.5 Fragment和Activity之间的接口 110

4.5.6没有用户界面的Fragment 111

4.5.7 Android Fragment类 112

4.5.8对To-Do List示例使用 Fragment 112

4.6 Android widget工具箱 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.8 Adapter简介 137

4.8.1部分原生Adapter简介 138

4.8.2定制ArrayAdapter 138

4.8.3使用Adapter绑定数据到视图 139

第5章 Intent和Broadcast Receiver 145

5.1 Intent简介 145

5.1.1使用Intent来启动Activity 146

5.1.2 Linkify简介 153

5.1.3使用Intent广播事件 155

5.1.4 Local Broadcast Manager 159

5.1.5 Pending Intent简介 160

5.2创建Intent Filter和Broadcast Receiver 161

5.2.1使用Intent Filter为隐式Intent提供服务 161

5.2.2使用Intent Filter作为插件和扩展 170

5.2.3监听本地Broadcast Intent 173

5.2.4使用Broadcast Intent监控设备的状态变化 174

5.2.5在运行时管理Manifest Receiver 176

第6章 使用Intemet资源 177

6.1下载和分析Internet资源 177

6.1.1连接Internet资源 178

6.1.2使用XML Pull Parser分析 XML 179

6.1.3创建一个地震查看器 180

6.2使用Download Manager 186

6.2.1下载文件 186

6.2.2自定义Download Manager Notification 187

6.2.3指定下载位置 188

6.2.4取消和删除下载 189

6.2.5查询Download Manager 189

6.3使用Internet服务 192

6.4连接到Google App Engine 192

6.5下载数据而不会耗尽电量的最佳实践 194

第7章 文件、保存状态和首选项 195

7.1保存简单的应用程序数据 195

7.2创建并保存Shared Preference 196

7.3检索Shared Preference 197

7.4为地震查看器创建一个设置Activity 197

7.5首选项框架和Preference Activity概述 205

7.5.1在XML中定义一个 Preference Screen布局 206

7.5.2 Preference Fragment简介 208

7.5.3使用Preference Header定义 Preference Fragment的层次结构 208

7.5.4 Preference Activity简介 209

7.5.5向后兼容性与Preference Screen 210

7.5.6找到并使用Preference Screen 设置的Shared Preference 210

7.5.7 Shared Preference Change Listener简介 211

7.6为地震查看器创建一个标准的 Preference Activity 211

7.7持久化应用程序实例的状态 215

7.7.1使用Shared Preference保存 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章 数据库和Content Provider 223

8.1 Android数据库简介 223

8.1.1 SQLite数据库简介 224

8.1.2 Content Provider简介 224

8.2 SQLite简介 224

8.3 Content Value和Cursor 225

8.4使用SQLite数据库 225

8.4.1 SQLiteOpenHelper简介 226

8.4.2在不使用SQLiteOpenHelper的情况下打开和创建数据库 228

8.4.3 Android数据库设计注意事项 228

8.4.4查询数据库 228

8.4.5从Cursor中提取值 229

8.4.6添加、更新和删除行 230

8.5创建Content Provider 232

8.5.1注册Content Provider 233

8.5.2发布Content Provider的URI地址 233

8.5.3创建Content Provide的数据库 234

8.5.4实现Content Provider查询 235

8.5.5 Content Provider事务 236

8.5.6在Content Provider中存储文件 239

8.5.7一个Content Provider的实现框架 240

8.6 使用Content Provider 244

8.6.1 Content Resolver简介 244

8.6.2查询Content Provider 244

8.6.3使用Cursor Loader异步查询内容 247

8.6.4添加、删除和更新内容 249

8.6.5访问Content Provider中存储的文件 251

8.6.6创建一个To-Do List数据库和 Content Provider 253

8.7将搜索功能添加到应用程序中 260

8.7.1使Content Provider可搜索 261

8.7.2为应用程序创建一个搜索 Activity 261

8.7.3将搜索Activity设置为应用程序的默认搜索Provider 263

8.7.4使用搜索视图微件 266

8.7.5由Content Provider支持搜索建议 267

8.7.6在快速搜索框中显示搜索结果 270

8.8创建可搜索的地震Content Provider 270

8.8.1创建Content Provider 270

8.8.2使用地震Content Provider 276

8.8.3搜索EarthquakeContent Provider 279

8.9本地Android Content Provider 285

8.9.1使用Media StoreContent Provider 285

8.9.2使用Contacts Contract Content Provider 286

8.9.3使用Calendar Content Provider 293

第9章 在后台操作 297

9.1 Service简介 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使用Async Task 运行异步任务 310

9.2.2 Intent Service简介 312

9.2.3 Loader简介 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使用Intent Service简化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.1 Android菜单系统简介 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通过Dialog Fragment管理和显示对话框 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.8 Notification简介 365

10.8.1 Notification Manager简介 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.3 Android Text-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.3 Surface View简介 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.3 Where Am I示例 466

13.4.4刷新当前位置 469

13.4.5在Where Am I中跟踪位置 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对“Where Am I”示例进行地理编码 481

13.8创建基于地图的Activity 482

13.8.1 Map View和MapActivity简介 482

13.8.2获得地图的API key 483

13.8.3创建一个基于地图的 Activity 483

13.8.4地图和Fragment 485

13.8.5配置和使用Map View 486

13.8.6使用MapController 486

13.8.7对“Wheer Am I”示例使用地图 487

13.8.8创建和使用覆盖(Overlay) 490

13.8.9 MyLocationOverlay简介 497

13.8.10 ItemizedOverlay和 OverlayItemn简介 498

13.8.11将视图固定到地图和地图的某个位置上 500

13.9对Earthquake示例添加地图功能 501

第14章 个性化主屏幕 507

14.1主屏幕Widget简介 507

14.2创建App Widgets 509

14.2.1创建Widget的XML布局资源 509

14.2.2定义Widget设置 511

14.2.3创建Widget Broadcast Receiver 并将其添加到应用程序的 manifest文件中 512

14.2.4 App WidgetManager和 Remote View简介 513

14.2.5刷新 Widget 518

14.2.6创建并使用 Widget配置 Activity 521

14.3创建地震Widget 522

14.4 Collection View Widget简介 528

14.4.1创建Collection View Widget的布局 529

14.4.2创建Remote ViewsService 530

14.4.3创建一个 RemoteViews-Factory 531

14.4.4使用Remote Views Service 填充Collection View Widget 533

14.4.5向Collection View Widget中的项添加交互性 534

14.4.6将Collection View Widget 绑定到Content Provider 535

14.4.7刷新Collection View Widget 537

14.4.8创建Earthquake Collection View Widget 537

14.5 Live Folder简介 543

14.5.1创建Live Folder 544

14.5.2创建 Earthquake Live Folder 548

14.6使用快速搜索框显示应用程序搜索结果 551

14.6.1在快速搜索框中显示搜索结果 551

14.6.2将Earthquake示例的搜索结果添加到快速搜索框中 552

14.7创建Live Wallpaper 553

14.7.1创建Live Wallpaper定义资源 553

14.7.2创建Wallpaper Service 554

14.7.3创建Wallpaper Service引擎 555

第15章 音频、视频以及摄像头的使用 557

15.1播放音频和视频 558

15.1.1 Media Player简介 559

15.1.2准备音频播放 559

15.1.3准备视频播放 560

15.1.4控制Media Player的播放 564

15.1.5管理媒体播放输出 566

15.1.6响应音量控制 566

15.1.7响应Media播放控件 567

15.1.8请求和管理音频焦点 569

15.1.9当音频输出改变时暂停播放 571

15.1.10 Remote Control Client简介 572

15.2操作原始音频 574

15.2.1使用AudioRecord录制声音 574

15.2.2使用AudioTrack播放音频 575

15.3创建一个Sound Pool 577

15.4使用音效 578

15.5使用摄像头拍摄照片 579

15.5.1使用Intent拍摄照片 579

15.5.2直接控制摄像头 581

15.5.3读取并写入JPEG EXIF图像详细信息 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.1 Connectivity Manager简介 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-Fi Direct传输数据 615

16.4.1初始化Wi-Fi Direct框架 615

16.4.2启用Wi-Fi Direct并监视其状态 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.3 Android Beam简介 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使用Intent Receiver监视传入的电话呼叫 639

17.3 SMS和MMS简介 640

17.3.1在应用程序中使用SMS和 MMS 640

17.3.2使用Intent从应用程序中发送SMS和MMS 640

17.3.3使用SMS Manager发送 SMS消息 641

17.3.4监听传入的SMS消息 644

17.3.5紧急响应程序SMS示例 646

17.3.6自动紧急响应程序 654

17.4 SIP和VOIP简介 662

第18章 Android高级开发 663

18.1 Android的安全性 664

18.1.1 Linux内核安全 664

18.1.2权限简介 664

18.2 Cloud to Device Messaging简介 666

18.2.1 C2DM的局限性 667

18.2.2注册使用C2DM 667

18.2.3在C2DM服务器上注册设备 667

18.2.4向设备发送C2DM消息 670

18.2.5接收C2DM消息 672

18.3使用License Verification Library实现版权保护 673

18.3.1安装License Verification Library 673

18.3.2获得License Verification 公钥 673

18.3.3配置License Validation 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使用Wake Lock 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.1 Google Play简介 693

19.2.2开始使用Google Play 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在Google Play上推广 700

19.4.3国际化 700

19.5分析数据和跟踪推荐人 701

19.5.1使用移动应用程序的Google Analytics 702

19.5.2使用Google Analytics追踪推荐 703

相关图书
作者其它书籍
返回顶部