《Android5从入门到精通》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:李波主编;史江萍,李丰鹏,王祥凤,孙士洁编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302432661
  • 页数:532 页
图书介绍:本书主要包括Android 5系统的发展历史、系统架构、应用程序框架、界面开发、网络访问、多媒体应用程序开发,数据存储等内容。本书每一章都给出实例,将之前各章进行一个综合性的应用,使读者进一步巩固所学的知识,提高综合实战能力。

第1章 Android系统概述 1

1.1 智能手机 1

1.1.1 什么是智能手机 1

1.1.2 智能手机操作系统 2

1.2 什么是Android 4

1.2.1 Android的历史 4

1.2.2 Android的发展 5

1.2.3 Android的优点 6

1.3 Android系统架构 7

1.3.1 应用程序层(Applications) 8

1.3.2 应用程序框架层(Application Framework) 8

1.3.3 系统库(Libraries) 8

1.3.4 Android运行环境(Android Runtime) 9

1.3.5 Linux内核(Linux Kernel) 9

1.4 Android5新特性介绍 9

1.4.1 全新的Material design设计 10

1.4.2 支持64位ART虚拟机 10

1.4.3 全新的通知设计 11

1.4.4 以大屏幕呈现 11

1.4.5 以文档为中心 12

1.4.6 改进连接性能 12

1.4.7 高性能图形 12

1.4.8 功能更强的音频处理 13

1.4.9 进一步完善的摄像头和视频处理 14

1.4.10 配置文件 14

1.4.11 屏幕截图和共享 15

1.4.12 新型传感器 15

1.4.13 Chromium WebView 15

1.4.14 辅助功能和输入 16

1.4.15 可构建低电耗应用 16

1.5 小结 16

1.6 思考题 17

第2章 搭建Android开发环境 18

2.1 系统需求 18

2.2 软件安装 18

2.2.1 JDK的安装 18

2.2.2 Android SDK 19

2.2.3 Eclipse和ADT 20

2.2.4 创建AVD 24

2.2.5 AVD与真机的区别 24

2.3 Android SDK介绍 25

2.3.1 Android SDK目录结构 25

2.3.2 Androidjar 27

2.3.3 Android API核心包 27

2.3.4 Android API扩展包 28

2.4 创建第一个 Android应用程序 28

2.4.1 创建HelloAndroid工程 28

2.4.2 编写代码 29

2.4.3 运行应用程序 30

2.4.4 工程文件结构解析 31

2.5 调试程序 32

2.5.1 设置断点 32

2.5.2 调试 33

2.6 小结 34

2.7 思考题 34

第3章 Android应用程序结构 35

3.1 应用程序基本组成 35

3.1.1 Activity 35

3.1.2 Service 35

3.1.3 BroadcastReceiver 36

3.1.4 ContentProvider 36

3.1.5 Intent 36

3.2 Activity 36

3.2.1 Activity的生命周期 37

3.2.2 Activity的创建 39

3.2.3 启动Activity 40

3.2.4 关闭Activity 41

3.2.5 Activity数据传递 41

3.3 资源 43

3.4 Manifest文件 43

3.5 App Widgets 46

3.5.1 基础知识 46

3.5.2 在Manifest文件中声明App Widget 47

3.5.3 增加AppW idgetProviderInfo元数据 47

3.5.4 创建App Widget布局 48

3.5.5 为App Widget添加边界 49

3.5.6 使用AppWidgetProvider类 49

3.5.7 接收App Widget的广播 51

3.5.8 创建App Widget的配置Activity 51

3.5.9 使用配置Activity对App Widget进行更新 52

3.6 进程和线程 53

3.6.1 进程(Processes) 53

3.6.2 线程(Threads) 55

3.6.3 线程安全方法 58

3.6.4 进程间的通信 58

3.7 小结 59

3.8 思考题 59

第4章 Android GUI开发 60

4.1 View和ViewGroup 60

4.2 使用XML定义视图 61

4.3 布局 64

4.3.1 FrameLayout 65

4.3.2 LinearLayout 67

4.3.3 RelativeLayout 70

4.3.4 TableLayout 72

4.3.5 AbsoluteLayout 74

4.3.6 WebView 76

4.4 常用Widget组件 78

4.4.1 创建Widget组件实例 78

4.4.2 按钮(Button) 80

4.4.3 文本框(TextView ) 82

4.4.4 编辑框(EditText ) 83

4.4.5 多项选择按钮(CheckBox ) 85

4.4.6 单项选择按钮组(RadioGroup ) 89

4.4.7 下拉列表(Spinner) 92

4.4.8 自动完成文本(AutoCompleteTextView ) 96

4.4.9 日期选择器和时间选择器(DatePicker和TimePicker) 99

4.4.10 进度条(ProgressBar) 103

4.4.11 滚动视图(ScrollView ) 105

4.4.12 拖动条(SeekBar ) 107

4.4.13 评价条(RatingBar ) 109

4.4.14 图片视图(ImageView)和图片按钮(ImageButton) 112

4.4.15 图片切换器ImageSwitcher和图库Gallery 115

4.4.16 网格视图(GridView ) 120

4.4.17 标签(Tab) 123

4.5 Menu和ActionBar 127

4.5.1 Options Menu 127

4.5.2 Context Menu 132

4.5.3 SubMenu 133

4.6 Bitmap 136

4.7 对话框(Dialog) 138

4.7.1 AlertDialog 139

4.7.2 ProgressDialog 142

4.8 Toast和Notification 143

4.8.1 Toast 143

4.8.2 Notification 145

4.9 界面事件响应 148

4.9.1 事件监听器 148

4.9.2 回调事件响应 149

4.9.3 界面事件响应实例 150

4.10 小结 154

4.11 思考题 154

第5章 电话和短信应用程序开发 155

5.1 Intent 155

5.1.1 显式 Intent和隐式Intent 157

5.1.2 IntentFilter 157

5.2 拨号程序 158

5.3 短信程序 161

5.3.1 SMS简介 161

5.3.2 接收短信 162

5.3.3 接收短信实例 162

5.3.4 发送短信 165

5.3.5 短信发送实例 165

5.4 照相机程序 169

5.5 小结 172

5.6 思考题 172

第6章 多媒体开发 173

6.1 Service 173

6.1.1 Service的作用 173

6.1.2 Service的生命周期 173

6.1.3 启动Service 173

6.2 BroadcastReceiver 175

6.3 音频 178

6.3.1 Android4.0支持的音频格式 179

6.3.2 音频播放器 179

6.3.3 后台播放音频 184

6.3.4 录音程序 187

6.3.5 后台录制音频 194

6.4 视频 197

6.4.1 Android4.0支持的视频文件 197

6.4.2 视频播放器 197

6.4.3 拍照程序 205

6.4.4 录制视频 213

6.5 小结 222

6.6 思考题 222

第7章 数据存储 223

7.1 SharedPreferences 223

7.1.1 SharedPreferences简介 223

7.1.2 使用SharedPreferences 224

7.2 文件存储 227

7.2.1 文件存储方式简介 227

7.2.2 使用文件存储功能 229

7.3 SQLite 232

7.3.1 SQLite数据库简介 232

7.3.2 SQLite数据库操作 234

7.3.3 SQLite数据库操作实例 236

7.4 ContentProvider 246

7.4.1 ContentProvider简介 246

7.4.2 UriMatcher 249

7.4.3 访问系统提供的ContentProvider 249

7.4.4 自定义ContentProvider 253

7.4.5 访问自定义ContentProvider 258

7.5 数据同步到云端 264

7.5.1 App Engine简介 264

7.5.2 创建可相互通信的Android和App Engine应用程序 265

7.6 数据备份与恢复 272

7.6.1 Android数据备份与恢复简介 272

7.6.2 实现备份代理的步骤 273

7.6.3 通过BackupAgent实现备份与恢复 274

7.6.4 通过BackupAgentHelper实现备份与恢复 279

7.7 小结 282

7.8 思考题 283

第8章 网络编程 284

8.1 HTTP通信 284

8.1.1 访问URL指定资源 288

8.1.2 使用GET方式获取网络服务 292

8.1.3 使用POST方式获取网络服务 296

8.2 Socket通信 299

8.2.1 Socket简介 300

8.2.2 Socket使用方法 300

8.2.3 Socket编程实例 302

8.3 Bluetooth通信 306

8.3.1 Bluetooth简介 306

8.3.2 Android系统的蓝牙通信功能 307

8.3.3 蓝牙通信实例 312

8.4 WIFI通信 332

8.4.1 WIFI简介 332

8.4.2 WIFI实例 333

8.4.3 WIFI Direct 339

8.4.4 创建WIFI Direct应用程序的步骤 341

8.4.5 WIFI Direct编程实例 346

8.5 NFC 361

8.5.1 NFC简介 361

8.5.2 Android NFC技术 362

8.5.3 使用前台发布系统 364

8.6 USB 366

8.6.1 USB简介 366

8.6.2 USB附件 367

8.6.3 USB主机 373

8.7 SIP 378

8.7.1 SIP简介 378

8.7.2 相关API 379

8.7.3 Manifest文件配置 379

8.7.4 创建SipManager对象 380

8.7.5 注册SIP服务器 380

8.7.6 拨打音频电话 382

8.7.7 接收呼叫 383

8.8 小结 385

8.9 思考题 385

第9章 智能传感器 386

9.1 获取位置信息 386

9.1.1 LocationManager介绍 387

9.1.2 LocationProvider介绍 387

9.1.3 使用GPS获取当前位置信息 389

9.2 使用Google地图服务 393

9.2.1 Google Map API简介 393

9.2.2 申请Android Map API Key 394

9.2.3 使用Google Map显示当前位置 396

9.3 传感器 402

9.3.1 Android传感器简介 402

9.3.2 标识传感器 404

9.3.3 传感器事件处理 405

9.4 运动传感器 406

9.4.1 加速度传感器 407

9.4.2 重力传感器 407

9.4.3 陀螺仪 407

9.4.4 线性加速传感器 409

9.4.5 旋转向量传感器 409

9.5 位置传感器 409

9.5.1 磁场传感器 410

9.5.2 方位传感器 410

9.5.3 距离传感器 411

9.6 环境传感器 412

9.7 小结 414

9.8 思考题 414

第10章 绘图 415

10.1 2D绘图 415

10.1.1 获取Canvas对象 415

10.1.2 使用自定义View绘图 416

10.1.3 使用Bitmap绘图 419

10.1.4 使用SurfaceView绘制静态图像 422

10.1.5 使用SurfaceView绘制动态图像 425

10.2 Drawable 431

10.2.1 从资源文件中创建Drawable对象 431

10.2.2 从XML文件中创建Drawable对象 431

10.2.3 使用构造方法创建Drawable对象 432

10.3 3D绘图 433

10.3.1 OpenGL ES简介 433

10.3.2 绘制3D图像实例 433

10.4 硬件加速 438

10.4.1 启用硬件加速 438

10.4.2 Android绘图模型 439

10.5 RenderScript 440

10.5.1 RenderScript综述 441

10.5.2 使用动态分配的内存 442

10.5.3 使用静态分配的内存 445

10.6 小结 448

10.7 思考题 448

第11章 APP的本地化 449

11.1 国际化与本地化 449

11.2 手机区域设置 449

11.3 未本地化的应用程序 451

11.4 本地化的应用程序 455

11.5 小结 461

11.6 思考题 461

第12章 文本与输入 462

12.1 剪贴板框架(Clipboard Framework) 462

12.2 剪贴板类(Clipboard Classes) 463

12.3 将剪贴板内数据强制转换为文本 464

12.4 复制到剪贴板 466

12.5 从剪贴板中粘贴 467

12.6 利用Content Provider复制复杂数据 471

12.7 设计有效的复制/粘贴功能 476

12.8 综合实例 477

12.9 小结 487

第13章 企业应用开发 488

13.1 设备管理API概述 488

13.1.1 设备管理工作过程 488

13.1.2 设备管理策略 489

13.2 开发设备管理API应用 490

13.2.1 创建程序代码 491

13.2.2 DeviceAdminReceiver的子类 493

13.2.3 启用程序 494

13.2.4 管理策略 496

13.3 文本语音API 500

13.4 TV应用 504

13.4.1 创建电视应用项目(TV Project) 504

13.4.2 添加TV支持库 506

13.4.3 建立TV应用 507

13.4.4 运行TV应用 507

13.4.5 TV应用实例 509

13.5 可穿戴设备应用 514

13.5.1 可穿戴设备应用简介 514

13.5.2 Android Wear项目搭建 514

13.6 小结 519

第14章 应用程序发布 520

14.1 应用程序发布的步骤 520

14.2 为什么要为应用程序签名 521

14.3 Android的签名策略 522

14.4 导出未签名应用程序 523

14.5 生成签名文件 524

14.5.1 使用ADT插件 524

14.5.2 使用keytool工具 525

14.6 为应用程序签名 527

14.6.1 使用ADT插件 527

14.6.2 使用jarsigner工具 529

14.7 使用zipalign工具优化应用程序 530

14.8 发布到Google Play Store 531

14.9 小结 532

14.10 思考题 532