《Android 5.0开发范例代码大全(第4版)》提供了100多个来自实践的代码范例,并且使用完整的、现实的工作代码示例指导读者逐步学习大量实用主题。本书内容基于Android 5.0(涵盖新的Android Wear和TV SDK)进行了全面更新,同时适用于Android早期版本。
本书没有抽象描述复杂的概念,而是采用生动的代码示例。在启动新的项目时,读者可以考虑复制和粘贴本书中的代码与配置文件,然后进行适当修改,使其符合自己的定制需求。
本书富含提供深刻见解的说明和具有帮助作用的示例,指导读者为当前最热门的移动平台编写应用。本书提供许多务实的建议,可帮助读者快速而适当地完成工作,从而为读者节省从头创建项目所需的大量时间!
主要内容
● 针对Android智能手机、平板电脑以及全新的可穿戴设备和TV应用编写代码
● 使用外部库节省时间和精力
● 使用Android NDK和RenderScript提升应用程序性能
● 设计高性能、响应灵敏和无缝衔接的应用程序
● 在设备和其他外部硬件之间发送数据
● 持久保存应用程序数据并在应用程序之间共享
● 捕获和播放各种设备媒体项
● 与Web服务通信
● 最有效地利用用户界面
目 录
第1章 布局和视图 1
1.1 样式化常见组件 1
1.1.1 问题 1
1.1.1 解决方案 1
1.1.3 实现机制 2
1.2 切换系统UI元素 10
1.2.1 问题 10
1.2.2 解决方案 10
1.2.3 实现机制 11
1.3 创建并显示视图 14
1.3.1 问题 14
1.3.2 解决方案 14
1.3.3 实现机制 14
1.4 动画视图 20
1.4.1 问题 20
1.4.2 解决方案 21
1.4.3 实现机制 21
1.5 布局变化时的动画 26
1.5.1 问题 26
1.5.2 解决方案 26
1.5.3 实现机制 27
1.6 实现针对具体场景的布局 30
1.6.1 问题 30
1.6.2 解决方案 30
1.6.3 实现机制 30
1.7 自定义AdapterView的空视图 38
1.7.1 问题 38
1.7.2 解决方案 38
1.7.3 实现机制 38
1.8 自定义ListView中的行 40
1.8.1 问题 40
1.8.2 解决方案 40
1.8.3 实现机制 40
1.9 制作ListView的节头部 44
1.9.1 问题 44
1.9.2 解决方案 44
1.9.3 实现机制 44
1.10 创建组合控件 52
1.10.1 问题 52
1.10.2 解决方案 52
1.10.3 实现机制 52
1.11 自定义过渡动画 56
1.11.1 问题 56
1.11.2 解决方案 56
1.11.3 实现机制 56
1.12 创建视图变换 65
1.12.1 问题 65
1.12.2 解决方案 65
1.12.3 实现机制 65
1.13 建立可扩展的集合视图 71
1.13.1 问题 71
1.13.2 解决方案 72
1.13.3 实现机制 72
1.14 小结 82
第2章 用户交互 83
2.1 利用Action Bar 83
2.1.1 问题 83
2.1.2 解决方案 83
2.1.3 实现机制 84
2.2 锁定Activity方向 91
2.2.1 问题 91
2.2.2 解决方案 91
2.2.3 实现机制 91
2.3 动态方向锁定 92
2.3.1 问题 92
2.3.2 解决方案 92
2.3.3 实现机制 92
2.4 手动处理旋转 94
2.4.1 问题 94
2.4.2 解决方案 94
2.4.3 实现机制 95
2.5 创建上下文动作 98
2.5.1 问题 98
2.5.2 解决方案 98
2.5.3 实现机制 98
2.6 显示一个用户对话框 103
2.6.1 问题 103
2.6.2 解决方案 103
2.6.3 实现机制 103
2.7 自定义菜单和动作 108
2.7.1 问题 108
2.7.2 解决方案 108
2.7.3 实现机制 109
2.8 自定义BACK按键 114
2.8.1 问题 114
2.8.2 解决方案 114
2.8.3 实现机制 114
2.9 模拟HOME按键 117
2.9.1 问题 117
2.9.2 解决方案 117
2.9.3 实现机制 118
2.10 监控TextView的变动 118
2.10.1 问题 118
2.10.2 解决方案 118
2.10.3 实现机制 119
2.11 自定义键盘动作 121
2.11.1 问题 121
2.11.2 解决方案 121
2.11.3 实现机制 121
2.12 消除软键盘 124
2.12.1 问题 124
2.12.2 解决方案 124
2.12.3 实现机制 124
2.13 处理复杂的触摸事件 125
2.13.1 问题 125
2.13.2 解决方案 125
2.13.3 实现机制 126
2.14 转发触摸事件 142
2.14.1 问题 142
2.14.2 解决方案 142
2.14.3 实现机制 142
2.15 阻止触摸窃贼 146
2.15.1 问题 146
2.15.2 解决方案 146
2.15.3 实现机制 146
2.16 创建拖放视图 149
2.16.1 问题 149
2.16.2 解决方案 150
2.16.3 实现机制 151
2.17 构建导航Drawer 157
2.17.1 问题 157
2.17.2 解决方案 157
2.17.3 实现机制 157
2.18 在视图之间滑动 167
2.18.1 问题 167
2.18.2 解决方案 167
2.18.3 实现机制 168
2.19 使用选项卡导航 177
2.19.1 问题 177
2.19.2 解决方案 177
2.19.3 实现机制 178
2.20 小结 185
第3章 通信和联网 187
第4章 实现设备硬件交互与媒体交互 271
第5章 数据持久化 367
5.1 制作首选项界面 367
5.1.1 问题 367
5.1.2 解决方案 367
5.1.3 实现机制 367
5.2 显示自定义首选项 373
5.2.1 问题 373
5.2.2 解决方案 373
5.2.3 实现机制 374
5.3 简单数据存储 378
5.3.1 问题 378
5.3.2 解决方案 379
5.3.3 实现机制 379
5.4 读写文件 383
5.4.1 问题 383
5.4.2 解决方案 383
5.4.3 实现机制 383
5.5 以资源的形式使用文件 390
5.5.1 问题 390
5.5.2 解决方案 390
5.5.3 实现机制 391
5.6 管理数据库 393
5.6.1 问题 393
5.6.2 解决方案 393
5.6.3 实现机制 393
5.7 查询数据库 398
5.7.1 问题 398
5.7.2 解决方案 398
5.7.3 实现机制 399
5.8 备份数据 400
5.8.1 问题 400
5.8.2 解决方案 400
5.8.3 实现机制 400
5.9 分享数据库 405
5.9.1 问题 405
5.9.2 解决方案 405
5.9.3 实现机制 405
5.10 分享SharedPreference 412
5.10.1 问题 412
5.10.2 解决方案 412
5.10.3 实现机制 412
5.11 分享其他数据 421
5.11.1 问题 421
5.11.2 解决方案 421
5.11.3 实现机制 422
5.12 集成系统文档 428
5.12.1 问题 428
5.12.2 解决方案 428
5.12.3 实现机制 429
5.13 小结 442
第6章 与系统交互 443
6.1 后台通知 443
6.1.1 问题 443
6.1.2 解决方案 443
6.1.3 实现机制 443
6.2 创建定时和周期任务 459
6.2.1 问题 459
6.2.2 解决方案 460
6.2.3 实现机制 460
6.3 定时执行周期任务 461
6.3.1 问题 461
6.3.2 解决方案 461
6.3.3 实现机制 462
6.4 创建粘性操作 469
6.4.1 问题 469
6.4.2 解决方案 469
6.4.3 实现机制 470
6.5 长时间运行的后台操作 474
6.5.1 问题 474
6.5.2 解决方案 474
6.5.3 实现机制 475
6.6 启动其他应用程序 480
6.6.1 问题 480
6.6.2 解决方案 480
6.6.3 实现机制 481
6.7 启动系统应用程序 484
6.7.1 问题 484
6.7.2 解决方案 484
6.7.3 实现机制 485
6.8 让其他应用程序启动你的应用程序 489
6.8.1 问题 489
6.8.2 解决方案 489
6.8.3 实现机制 489
6.9 与联系人交互 491
6.9.1 问题 491
6.9.2 解决方案 491
6.9.3 实现机制 492
6.10 读取设备媒体和文档 500
6.10.1 问题 500
6.10.2 解决方案 500
6.10.3 实现机制 500
6.11 保存设备媒体和文档 504
6.11.1 问题 504
6.11.2 解决方案 504
6.11.3 实现机制 504
6.12 读取消息数据 509
6.12.1 问题 509
6.12.2 解决方案 509
6.12.3 实现机制 510
6.13 与日历交互 521
6.13.1 问题 521
6.13.2 解决方案 521
6.13.3 实现机制 521
6.14 执行日志代码 527
6.14.1 问题 527
6.14.2 解决方案 528
6.14.3 实现机制 528
6.15 创建后台工作线程 530
6.15.1 问题 530
6.15.2 解决方案 530
6.15.3 实现机制 530
6.16 自定义任务栈 535
6.16.1 问题 535
6.16.2 解决方案 535
6.16.3 实现机制 535
6.17 实现AppWidget 543
6.17.1 问题 543
6.17.2 解决方案 543
6.17.3 实现机制 544
6.18 支持受限制的配置文件 564
6.18.1 问题 564
6.18.2 解决方案 564
6.18.3 实现机制 565
6.19 小结 577
第7章 图形和绘图 579
7.1 用Drawable做背景 579
7.1.1 问题 579
7.1.2 解决方案 579
7.1.3 实现机制 580
7.2 创建自定义状态的Drawable 586
7.2.1 问题 586
7.2.2 解决方案 586
7.2.3 实现机制 586
7.3 将遮罩应用于图片 591
7.3.1 问题 591
7.3.2 解决方案 591
7.3.3 实现机制 592
7.4 在视图内容上绘制 601
7.4.1 问题 601
7.4.2 解决方案 601
7.4.3 实现机制 601
7.5 高性能绘制 617
7.5.1 问题 617
7.5.2 解决方案 617
7.5.3 实现机制 617
7.6 提取图片调色板 628
7.6.1 问题 628
7.6.2 解决方案 628
7.6.3 实现机制 629
7.7 平铺Drawable元素 633
7.7.1 问题 633
7.7.2 解决方案 633
7.7.3 实现机制 634
7.8 使用可缩放的向量资源 639
7.8.1 问题 639
7.8.2 解决方案 639
7.8.3 实现机制 639
7.9 小结 648
第8章 使用Android NDK和
RenderScript 649
8.1 Android NDK 649
8.2 使用JNI添加原生位 651
8.2.1 问题 651
8.2.2 解决方案 651
8.2.3 实现机制 652
8.3 构建纯原生Activity 660
8.3.1 问题 660
8.3.2 解决方案 660
8.3.3 实现机制 660
8.4 RenderScript 670
8.5 使用RenderScript过滤图片 671
8.5.1 问题 671
8.5.2 解决方案 672
8.5.3 实现机制 672
8.6 使用RenderScript操作图片 677
8.6.1 问题 677
8.6.2 解决方案 677
8.6.3 实现机制 677
8.7 使用模糊滤镜仿造透明覆盖层 683
8.7.1 问题 683
8.7.2 解决方案 683
8.7.3 实现机制 683
8.8 小结 693