Android Launcher应用开发

Android Launcher应用开发
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: ,
2016-07
版次: 01
ISBN: 9787115427144
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 365页
字数: 555千字
正文语种: 简体中文
丛书: 图灵原创
43人买过
  • 本书以Launcher为解析核心,全面深入地介绍了Launcher的清单、应用程序组件、资源配置、UI组件以及Launcher的操作等,包含了整个桌面的体系和开发技巧。本书语言通俗易懂,解析全面,有利于读者理解整个Launcher桌面的体系。
        本书适用于有一定Android开发经验的工程师,也适合作为中高级Android开发培训教程。 张泳,Android开发工程师,对Android Launcher有深入研究和理解,熟悉Android SDK工作原理和OpenGL等技术,并对重力感应、NFC、SIP有所研究。目前主要从事Android系统应用开发以及定制Android版本(修改Launcher、Settings和锁屏等)的工作。在实践中解决了Android 2.1到Android 4.4原生代码中的一些疑难问题,独立完成了Android平台上多个控件的开发。 目录

    第一部分  Launcher开发基础
    第1章 Launcher简介 2
    1.1 总体结构 2
    1.2 Launcher3的交叉编译 5
    1.2.1 Launcher3的主体编译 7
    1.2.2 Protocol Buffer的Debug工具依赖库编译 8
    1.2.3 生成Protocol Buffer的测试工具 9
    1.2.4 Launcher3的编译 9
    1.3 Launcher3的应用程序体系 10
    1.3.1 Launcher3的基础信息 10
    1.3.2 Launcher3的权限设置 10
    1.3.3 Launcher3的应用程序根节点配置 11
    1.3.4 Launcher3的应用程序组件配置 13
    1.4 Protocol Buffer设计 16
    第2章 LauncherApplication 17
    2.1 创建Launcher应用程序 17
    2.2 Launcher应用程序终止 18
    2.3 注意事项 18
    第二部分 Launcher的控制中心
    第3章 Launcher的状态保存与恢复 22
    3.1 Android的状态保存机制 22
    3.2 Android的状态恢复机制 29
    3.2.1 onRestoreInstanceState的调用 29
    3.2.2 onRestoreInstanceState的调用条件 32
    3.2.3 Activity中的状态恢复 34
    3.2.4 Launcher中的状态恢复 35
    第4章 初始化桌面 36
    4.1 初始化Launcher运行环境 37
    4.2 为生成Launcher的动态网格进行必要的准备 37
    4.3 生成动态网格 39
    4.4 获取共享数据对象以及建立Launcher与LauncherModel的联系 39
    4.5 根据动态网格刷新图标缓冲区 40
    4.6 初始化拖曳控制器 40
    4.7 获取应用程序运行状态 41
    4.8 创建并启动Widget Host 42
    4.9 检查配置是否有更新 42
    4.10 装载Launcher布局以及实例化相关控件 46
    4.11 根据动态网格的属性部署桌面 48
    4.12 Launcher的状态恢复 49
    4.13 监听Widget配置变化 51
    4.14 加载桌面数据 52
    4.15 更新必要的图标 52
    4.16 解锁Launcher的方向设定 53
    4.17 首次使用时显示桌面的帮助界面 54
    第5章 Home键:Launcher的另一种启动方式 56
    5.1 Launcher的重要配置 56
    5.2 Home键的框架行为 57
    5.2.1 导航栏的实现 57
    5.2.2 窗口管理器的处理 58
    5.2.3 Launcher的相关处理 59
    第6章 Launcher的显示 63
    6.1 关于Activity的onResume 63
    6.2 Activity类的onResume方法实现 63
    6.3 Launcher的onResume实现 64
    第7章 Launcher的状态 68
    7.1 Activity的暂停状态 68
    7.1.1 Activity暂停状态发生的场景 68
    7.1.2 Activity中暂停的实现 73
    7.1.3 Launcher的暂停过程 74
    7.2 Activity的启动状态 75
    7.2.1 Activity中onStart的实现 75
    7.2.2 Launcher的onStart实现 76
    7.3 Activity的停止状态 76
    7.3.1 Activity中onStop的实现 77
    7.3.2 Launcher的onStop实现 77
    7.4 Launcher的销毁状态 78
    7.4.1 销毁状态简介 78
    7.4.2 什么时候会被销毁 78
    7.4.3 销毁状态的处理 81
    第8章 Launcher的启动应用及等待结果 85
    8.1 在Launcher中启动应用 85
    8.1.1 安全启动应用程序的通用方法 86
    8.1.2 真正启动应用程序的方法 86
    8.2 启动应用并等待结果 89
    8.3 Launcher的应用场景 90
    8.3.1 场景1:往桌面上添加桌面小部件时 90
    8.3.2 场景2:往桌面上添加应用程序的快捷方式时 92
    8.3.3 场景3:用户启动选择壁纸时 93
    8.3.4 场景4:创建桌面小部件时 93
    8.3.5 场景5:桌面小部件的视图未能完全恢复时 95
    8.4 应用程序处理端如何设置必要的返回 96
    8.5 处理返回结果 97
    第9章 Launcher的返回键处理 99
    9.1 Activity的onKeyDown方法的实现 99
    9.2 Activity的onKeyUp方法的实现 100
    9.3 Activity的onBackPressed方法的实现 101
    9.4 Launcher的onBackPressed方法 101
    第10章 Launcher的按键处理 104
    10.1 onKeyDown和onKeyUp方法 104
    10.1.1 Activity中的onKeyDown方法 104
    10.1.2 Launcher的onKeyDown方法 110
    10.2 自主分发按键事件 112
    10.2.1 Activity的dispatchKey-Event实现 112
    10.2.2 Launcher中的按键分发 113
    第11章 Launcher的窗口周期 115
    11.1 应用程序中Activity的创建 115
    11.2 应用程序窗口的创建 119
    11.3 窗口中设置UI 121
    11.3.1 在窗口中设置布局 121
    11.3.2 安装窗口容器 123
    11.3.3 初始化应用程序的ActionBar 124
    11.4 Launcher中实现的窗口状态变化接口 124
    11.4.1 应用程序添加到窗口中 124
    11.4.2 应用程序从窗口中拆离 128
    11.4.3 窗口焦点变化 131
    第12章 Launcher实现的框架接口 132
    12.1 控件点击事件监听接口 132
    12.1.1 设置点击监听器方法 132
    12.1.2 点击事件的处理机制 133
    12.1.3 Launcher的点击事件处理 134
    12.2 控件长按事件监听接口 142
    12.2.1 什么条件下被认为是长按事件 142
    12.2.2 Launcher的控件长按事件处理 146
    12.3 Launcher的Touch事件 148
    12.3.1 创建应用程序窗口与底层输入设备之间的关联 148
    12.3.2 ViewRootImpl中Window- InputEventReceiver类的实例化 152
    12.3.3 基于窗口管理服务的消息分发 153
    12.3.4 Touch事件的应用程序之旅 156
    第13章 Launcher控制接口的实现 162
    13.1 LauncherModel的Callbacks接口的定义 162
    13.2 指示Launcher显示时需要重新加载数据 164
    13.3 获取当前正在显示的桌面页索引 164
    13.4 加载Workspace的预处理 165
    13.5 批量添加快捷方式或者文件夹 166
    13.6 绑定并且添加桌面页 169
    13.7 绑定文件夹 170
    13.8 指示加载过程完成 170
    13.9 绑定桌面小部件 172
    13.10 绑定应用程序菜单界面数据 175
    13.11 批量添加应用程序一体化操作 175
    13.12 更新应用程序 177
    13.13 应用程序已经被恢复 177
    13.14 更新应用程序状态 178
    13.15 更新应用程序信息 178
    13.16 应用程序被删除 178
    13.17 更新应用程序菜单快捷方式与桌面小部件信息 179
    13.18 更新搜索相关信息 179
    13.19 是否在应用程序菜单按钮范围内 180
    13.20 保存同步加载页面 180
    第14章 Launcher的内部工具 181
    14.1 客户定制页面 181
    14.1.1 组装定制化页面内容 181
    14.1.2 定制化页面的变化信号处理 182
    14.1.3 添加定制化页面接口 182
    14.1.4 定制化页面的属性及控制 184
    14.1.5 默认的定制化页面 184
    14.2 Launcher3的搜索 184
    14.2.1 发现搜索提供者 185
    14.2.2 将搜索信息转变为可填充的视图 185
    14.3 Launcher的一些工具 187
    14.3.1 桌面组件的ID分配 187
    14.3.2 生成应用程序快捷方式的方法 188
    14.3.3 添加桌面组件 189
    14.4 桌面和应用程序菜单之间的切换 195
    14.4.1 桌面的显示 195
    14.4.2 显示应用程序菜单界面 196
    14.4.3 进入预览模式 196
    第三部分 Lauhcher开发进阶
    第15章 Launcher的数据库 198
    15.1 关于ContentProvider 198
    15.2 Launcher数据库组件的配置 199
    15.2.1 Launcher数据库组件的访问权限定义及其使用方法 199
    15.2.2 Launcher数据库组件的配置 200
    15.2.3 读写权限的使用 201
    15.3 Launcher的数据库详解 201
    15.3.1 Launcher的数据库实现 201
    15.3.2 Launcher的ContentProvider 211
    15.4 Launcher数据库工具 216
    15.4.1 Launcher数据库删除工具 217
    15.4.2 Launcher数据库合并工具 217
    15.4.3 必要时导入默认桌面配置 222
    15.4.4 获取默认配置文件解析器实例 224
    15.4.5 Launcher数据标志清理工具 224
    15.5 Android数据库实战 225
    15.5.1 关于数据的约定 225
    15.5.2 定义并使用TulingDBDemo的读写权限 225
    15.5.3 数据库框架搭建 226
    15.5.4 数据库文件以及表的定义 226
    15.5.5 定义访问数据库的访问接口 228
    15.5.6 ContentProvider的实现 229
    15.5.7 操作数据库 232
    第16章 Launcher的广播接收器 234
    16.1 Launcher中的广播概述 234
    16.1.1 壁纸变更广播接收器 234
    16.1.2 桌面小部件容器的重置广播接收器 235
    16.1.3 安装快捷方式的接口 235
    16.1.4 卸载快捷方式的接口 235
    16.1.5 管理应用程序的广播接收器 236
    16.1.6 Launcher的中枢神经:LauncherModel 236
    16.2 壁纸变更广播接收器 237
    16.3 桌面小部件容器的重置广播接收器 237
    16.3.1 概况 237
    16.3.2 注意事项 238
    16.3.3 容器重置处理的流程 239
    16.4 快捷方式的安装接口 242
    16.4.1 安装快捷方式接口的使用实例 242
    16.4.2 添加快捷方式的入口实现 243
    16.4.3 Launcher2与Launcher3的区别 247
    16.5 快捷方式的卸载接口 247
    16.5.1 卸载快捷方式接口的使用 248
    16.5.2 卸载快捷方式入口实现 248
    16.6 管理应用程序的广播接收器 251
    第17章 Launcher的数据中心:LauncherModel 252
    17.1 LauncherModel的创建 252
    17.2 LauncherModel的构造函数 253
    17.3 与LauncherModel的沟通方式 255
    17.3.1 LauncherModel操作的回调接口 255
    17.3.2 广播接口 257
    17.3.3 LauncherModel的应用程序级别接口 258
    17.4 LauncherModel的加载任务LoaderTask 267
    17.4.1 LoaderTask的定义、属性及构造 268
    17.4.2 LoaderTask状态查询接口 269
    17.4.3 指定页面加载接口 270
    17.4.4 停止加载接口 270
    17.4.5 获取Launcher的通知接口 271
    17.4.6 LoaderTask的run接口实现 272
    17.4.7 LoaderTask的桌面数据加载及绑定工具 274
    17.4.8 加载过程工具 287
    17.5 桌面空间的处理 293
    第18章 Launcher的壁纸配置 295
    18.1 如何通过Launcher设置壁纸 295
    18.2 Launcher3壁纸代码结构与使用简介 296
    18.3 壁纸资源的来源 298
    18.3.1 来源一:指定系统应用的某些资源 299
    18.3.2 来源二:指定系统应用中所定制的路径下的图片资源 300
    18.3.3 来源三:Launcher自带的壁纸资源 301
    18.3.4 来源四:Android系统默认壁纸 302
    18.4 Launcher3壁纸的内部分类 305
    18.4.1 功能性选项:PickImage-Info 305
    18.4.2 URI类型壁纸项:URIWallpaperInfo 307
    18.4.3 文件类型的壁纸项:FileWallpaperInfo 311
    18.4.4 资源类型的壁纸项:ResourceWallpaperInfo 312
    18.4.5 默认壁纸项:DefaultWallpaperInfo 313
    18.5 关于壁纸的工具 315
    18.5.1 设置系统壁纸的可见性 315
    18.5.2 设置壁纸尺寸工具 316
    18.5.3 设置壁纸的方法 317
    18.6 利用Launcher设置壁纸 318
    第19章 Launcher的上下文 319
    19.1 LauncherAppState的使用 319
    19.1.1 LauncherAppState初始化的前提 319
    19.1.2 LauncherAppState的初始化 320
    19.2 Launcher应用程序被终止的必要清理 321
    19.3 监听数据库变化的观察者 321
    19.4 获取屏幕方向的工具 322
    19.5 关于弱引用 322
    19.6 其他接口的应用 323
    第20章 Launcher中的备份与还原 325
    20.1 应用程序备份代理器的配置 325
    20.2 备份与管理服务的开启与关闭 326
    20.3 实现数据备份与还原代理的帮助类 327
    20.3.1 LauncherBackupHelper的performBackup方法 327
    20.3.2 initializeIconCache方法 330
    20.3.3 LauncherBackupHelper的restoreEntity方法 336
    20.4 Launcher数据备份与还原的代理 338
    20.4.1 创建数据备份与还原代理 338
    20.4.2 应用程序的数据还原 339
    第21章 基于Google的Protocol Buffer协议开发 341
    21.1 实际应用场景概述 341
    21.1.1 备份流程 341
    21.1.2 还原流程 341
    21.2 Protocol Buffer简介 342
    21.3 PB消息的定义 344
    21.3.1 指定字段的类型 344
    21.3.2 为消息字段指定TAG 345
    21.3.3 为消息字段指定规则 345
    21.3.4 增加消息定义 346
    21.3.5 为消息添加注释 347
    21.3.6 编译.proto文件概况 347
    21.4 简单PB消息的配置 348
    21.4.1 PB的基础数据类型 348
    21.4.2 基础数据类型的默认配置 349
    21.4.3 PB的枚举类型 350
    21.5 复合PB消息的定义 351
    21.5.1 在消息中使用其他消息 351
    21.5.2 PB中的内嵌消息 353
    21.6 PB消息的高级用法 354
    21.6.1 升级一则消息 354
    21.6.2 PB的map类型 355
    21.6.3 PB的包 355
    21.6.4 PB的其他选项 356
    21.7 生成代码 358
    21.7.1 创建ProtocolBuffDemo工程 358
    21.7.2 编写第一个proto文件 360
    21.7.3 使用protoc工具编译TulingMessage.proto 361
    21.7.4 使用生成TulingMessages类 362
  • 内容简介:
    本书以Launcher为解析核心,全面深入地介绍了Launcher的清单、应用程序组件、资源配置、UI组件以及Launcher的操作等,包含了整个桌面的体系和开发技巧。本书语言通俗易懂,解析全面,有利于读者理解整个Launcher桌面的体系。
        本书适用于有一定Android开发经验的工程师,也适合作为中高级Android开发培训教程。
  • 作者简介:
    张泳,Android开发工程师,对Android Launcher有深入研究和理解,熟悉Android SDK工作原理和OpenGL等技术,并对重力感应、NFC、SIP有所研究。目前主要从事Android系统应用开发以及定制Android版本(修改Launcher、Settings和锁屏等)的工作。在实践中解决了Android 2.1到Android 4.4原生代码中的一些疑难问题,独立完成了Android平台上多个控件的开发。
  • 目录:
    目录

    第一部分  Launcher开发基础
    第1章 Launcher简介 2
    1.1 总体结构 2
    1.2 Launcher3的交叉编译 5
    1.2.1 Launcher3的主体编译 7
    1.2.2 Protocol Buffer的Debug工具依赖库编译 8
    1.2.3 生成Protocol Buffer的测试工具 9
    1.2.4 Launcher3的编译 9
    1.3 Launcher3的应用程序体系 10
    1.3.1 Launcher3的基础信息 10
    1.3.2 Launcher3的权限设置 10
    1.3.3 Launcher3的应用程序根节点配置 11
    1.3.4 Launcher3的应用程序组件配置 13
    1.4 Protocol Buffer设计 16
    第2章 LauncherApplication 17
    2.1 创建Launcher应用程序 17
    2.2 Launcher应用程序终止 18
    2.3 注意事项 18
    第二部分 Launcher的控制中心
    第3章 Launcher的状态保存与恢复 22
    3.1 Android的状态保存机制 22
    3.2 Android的状态恢复机制 29
    3.2.1 onRestoreInstanceState的调用 29
    3.2.2 onRestoreInstanceState的调用条件 32
    3.2.3 Activity中的状态恢复 34
    3.2.4 Launcher中的状态恢复 35
    第4章 初始化桌面 36
    4.1 初始化Launcher运行环境 37
    4.2 为生成Launcher的动态网格进行必要的准备 37
    4.3 生成动态网格 39
    4.4 获取共享数据对象以及建立Launcher与LauncherModel的联系 39
    4.5 根据动态网格刷新图标缓冲区 40
    4.6 初始化拖曳控制器 40
    4.7 获取应用程序运行状态 41
    4.8 创建并启动Widget Host 42
    4.9 检查配置是否有更新 42
    4.10 装载Launcher布局以及实例化相关控件 46
    4.11 根据动态网格的属性部署桌面 48
    4.12 Launcher的状态恢复 49
    4.13 监听Widget配置变化 51
    4.14 加载桌面数据 52
    4.15 更新必要的图标 52
    4.16 解锁Launcher的方向设定 53
    4.17 首次使用时显示桌面的帮助界面 54
    第5章 Home键:Launcher的另一种启动方式 56
    5.1 Launcher的重要配置 56
    5.2 Home键的框架行为 57
    5.2.1 导航栏的实现 57
    5.2.2 窗口管理器的处理 58
    5.2.3 Launcher的相关处理 59
    第6章 Launcher的显示 63
    6.1 关于Activity的onResume 63
    6.2 Activity类的onResume方法实现 63
    6.3 Launcher的onResume实现 64
    第7章 Launcher的状态 68
    7.1 Activity的暂停状态 68
    7.1.1 Activity暂停状态发生的场景 68
    7.1.2 Activity中暂停的实现 73
    7.1.3 Launcher的暂停过程 74
    7.2 Activity的启动状态 75
    7.2.1 Activity中onStart的实现 75
    7.2.2 Launcher的onStart实现 76
    7.3 Activity的停止状态 76
    7.3.1 Activity中onStop的实现 77
    7.3.2 Launcher的onStop实现 77
    7.4 Launcher的销毁状态 78
    7.4.1 销毁状态简介 78
    7.4.2 什么时候会被销毁 78
    7.4.3 销毁状态的处理 81
    第8章 Launcher的启动应用及等待结果 85
    8.1 在Launcher中启动应用 85
    8.1.1 安全启动应用程序的通用方法 86
    8.1.2 真正启动应用程序的方法 86
    8.2 启动应用并等待结果 89
    8.3 Launcher的应用场景 90
    8.3.1 场景1:往桌面上添加桌面小部件时 90
    8.3.2 场景2:往桌面上添加应用程序的快捷方式时 92
    8.3.3 场景3:用户启动选择壁纸时 93
    8.3.4 场景4:创建桌面小部件时 93
    8.3.5 场景5:桌面小部件的视图未能完全恢复时 95
    8.4 应用程序处理端如何设置必要的返回 96
    8.5 处理返回结果 97
    第9章 Launcher的返回键处理 99
    9.1 Activity的onKeyDown方法的实现 99
    9.2 Activity的onKeyUp方法的实现 100
    9.3 Activity的onBackPressed方法的实现 101
    9.4 Launcher的onBackPressed方法 101
    第10章 Launcher的按键处理 104
    10.1 onKeyDown和onKeyUp方法 104
    10.1.1 Activity中的onKeyDown方法 104
    10.1.2 Launcher的onKeyDown方法 110
    10.2 自主分发按键事件 112
    10.2.1 Activity的dispatchKey-Event实现 112
    10.2.2 Launcher中的按键分发 113
    第11章 Launcher的窗口周期 115
    11.1 应用程序中Activity的创建 115
    11.2 应用程序窗口的创建 119
    11.3 窗口中设置UI 121
    11.3.1 在窗口中设置布局 121
    11.3.2 安装窗口容器 123
    11.3.3 初始化应用程序的ActionBar 124
    11.4 Launcher中实现的窗口状态变化接口 124
    11.4.1 应用程序添加到窗口中 124
    11.4.2 应用程序从窗口中拆离 128
    11.4.3 窗口焦点变化 131
    第12章 Launcher实现的框架接口 132
    12.1 控件点击事件监听接口 132
    12.1.1 设置点击监听器方法 132
    12.1.2 点击事件的处理机制 133
    12.1.3 Launcher的点击事件处理 134
    12.2 控件长按事件监听接口 142
    12.2.1 什么条件下被认为是长按事件 142
    12.2.2 Launcher的控件长按事件处理 146
    12.3 Launcher的Touch事件 148
    12.3.1 创建应用程序窗口与底层输入设备之间的关联 148
    12.3.2 ViewRootImpl中Window- InputEventReceiver类的实例化 152
    12.3.3 基于窗口管理服务的消息分发 153
    12.3.4 Touch事件的应用程序之旅 156
    第13章 Launcher控制接口的实现 162
    13.1 LauncherModel的Callbacks接口的定义 162
    13.2 指示Launcher显示时需要重新加载数据 164
    13.3 获取当前正在显示的桌面页索引 164
    13.4 加载Workspace的预处理 165
    13.5 批量添加快捷方式或者文件夹 166
    13.6 绑定并且添加桌面页 169
    13.7 绑定文件夹 170
    13.8 指示加载过程完成 170
    13.9 绑定桌面小部件 172
    13.10 绑定应用程序菜单界面数据 175
    13.11 批量添加应用程序一体化操作 175
    13.12 更新应用程序 177
    13.13 应用程序已经被恢复 177
    13.14 更新应用程序状态 178
    13.15 更新应用程序信息 178
    13.16 应用程序被删除 178
    13.17 更新应用程序菜单快捷方式与桌面小部件信息 179
    13.18 更新搜索相关信息 179
    13.19 是否在应用程序菜单按钮范围内 180
    13.20 保存同步加载页面 180
    第14章 Launcher的内部工具 181
    14.1 客户定制页面 181
    14.1.1 组装定制化页面内容 181
    14.1.2 定制化页面的变化信号处理 182
    14.1.3 添加定制化页面接口 182
    14.1.4 定制化页面的属性及控制 184
    14.1.5 默认的定制化页面 184
    14.2 Launcher3的搜索 184
    14.2.1 发现搜索提供者 185
    14.2.2 将搜索信息转变为可填充的视图 185
    14.3 Launcher的一些工具 187
    14.3.1 桌面组件的ID分配 187
    14.3.2 生成应用程序快捷方式的方法 188
    14.3.3 添加桌面组件 189
    14.4 桌面和应用程序菜单之间的切换 195
    14.4.1 桌面的显示 195
    14.4.2 显示应用程序菜单界面 196
    14.4.3 进入预览模式 196
    第三部分 Lauhcher开发进阶
    第15章 Launcher的数据库 198
    15.1 关于ContentProvider 198
    15.2 Launcher数据库组件的配置 199
    15.2.1 Launcher数据库组件的访问权限定义及其使用方法 199
    15.2.2 Launcher数据库组件的配置 200
    15.2.3 读写权限的使用 201
    15.3 Launcher的数据库详解 201
    15.3.1 Launcher的数据库实现 201
    15.3.2 Launcher的ContentProvider 211
    15.4 Launcher数据库工具 216
    15.4.1 Launcher数据库删除工具 217
    15.4.2 Launcher数据库合并工具 217
    15.4.3 必要时导入默认桌面配置 222
    15.4.4 获取默认配置文件解析器实例 224
    15.4.5 Launcher数据标志清理工具 224
    15.5 Android数据库实战 225
    15.5.1 关于数据的约定 225
    15.5.2 定义并使用TulingDBDemo的读写权限 225
    15.5.3 数据库框架搭建 226
    15.5.4 数据库文件以及表的定义 226
    15.5.5 定义访问数据库的访问接口 228
    15.5.6 ContentProvider的实现 229
    15.5.7 操作数据库 232
    第16章 Launcher的广播接收器 234
    16.1 Launcher中的广播概述 234
    16.1.1 壁纸变更广播接收器 234
    16.1.2 桌面小部件容器的重置广播接收器 235
    16.1.3 安装快捷方式的接口 235
    16.1.4 卸载快捷方式的接口 235
    16.1.5 管理应用程序的广播接收器 236
    16.1.6 Launcher的中枢神经:LauncherModel 236
    16.2 壁纸变更广播接收器 237
    16.3 桌面小部件容器的重置广播接收器 237
    16.3.1 概况 237
    16.3.2 注意事项 238
    16.3.3 容器重置处理的流程 239
    16.4 快捷方式的安装接口 242
    16.4.1 安装快捷方式接口的使用实例 242
    16.4.2 添加快捷方式的入口实现 243
    16.4.3 Launcher2与Launcher3的区别 247
    16.5 快捷方式的卸载接口 247
    16.5.1 卸载快捷方式接口的使用 248
    16.5.2 卸载快捷方式入口实现 248
    16.6 管理应用程序的广播接收器 251
    第17章 Launcher的数据中心:LauncherModel 252
    17.1 LauncherModel的创建 252
    17.2 LauncherModel的构造函数 253
    17.3 与LauncherModel的沟通方式 255
    17.3.1 LauncherModel操作的回调接口 255
    17.3.2 广播接口 257
    17.3.3 LauncherModel的应用程序级别接口 258
    17.4 LauncherModel的加载任务LoaderTask 267
    17.4.1 LoaderTask的定义、属性及构造 268
    17.4.2 LoaderTask状态查询接口 269
    17.4.3 指定页面加载接口 270
    17.4.4 停止加载接口 270
    17.4.5 获取Launcher的通知接口 271
    17.4.6 LoaderTask的run接口实现 272
    17.4.7 LoaderTask的桌面数据加载及绑定工具 274
    17.4.8 加载过程工具 287
    17.5 桌面空间的处理 293
    第18章 Launcher的壁纸配置 295
    18.1 如何通过Launcher设置壁纸 295
    18.2 Launcher3壁纸代码结构与使用简介 296
    18.3 壁纸资源的来源 298
    18.3.1 来源一:指定系统应用的某些资源 299
    18.3.2 来源二:指定系统应用中所定制的路径下的图片资源 300
    18.3.3 来源三:Launcher自带的壁纸资源 301
    18.3.4 来源四:Android系统默认壁纸 302
    18.4 Launcher3壁纸的内部分类 305
    18.4.1 功能性选项:PickImage-Info 305
    18.4.2 URI类型壁纸项:URIWallpaperInfo 307
    18.4.3 文件类型的壁纸项:FileWallpaperInfo 311
    18.4.4 资源类型的壁纸项:ResourceWallpaperInfo 312
    18.4.5 默认壁纸项:DefaultWallpaperInfo 313
    18.5 关于壁纸的工具 315
    18.5.1 设置系统壁纸的可见性 315
    18.5.2 设置壁纸尺寸工具 316
    18.5.3 设置壁纸的方法 317
    18.6 利用Launcher设置壁纸 318
    第19章 Launcher的上下文 319
    19.1 LauncherAppState的使用 319
    19.1.1 LauncherAppState初始化的前提 319
    19.1.2 LauncherAppState的初始化 320
    19.2 Launcher应用程序被终止的必要清理 321
    19.3 监听数据库变化的观察者 321
    19.4 获取屏幕方向的工具 322
    19.5 关于弱引用 322
    19.6 其他接口的应用 323
    第20章 Launcher中的备份与还原 325
    20.1 应用程序备份代理器的配置 325
    20.2 备份与管理服务的开启与关闭 326
    20.3 实现数据备份与还原代理的帮助类 327
    20.3.1 LauncherBackupHelper的performBackup方法 327
    20.3.2 initializeIconCache方法 330
    20.3.3 LauncherBackupHelper的restoreEntity方法 336
    20.4 Launcher数据备份与还原的代理 338
    20.4.1 创建数据备份与还原代理 338
    20.4.2 应用程序的数据还原 339
    第21章 基于Google的Protocol Buffer协议开发 341
    21.1 实际应用场景概述 341
    21.1.1 备份流程 341
    21.1.2 还原流程 341
    21.2 Protocol Buffer简介 342
    21.3 PB消息的定义 344
    21.3.1 指定字段的类型 344
    21.3.2 为消息字段指定TAG 345
    21.3.3 为消息字段指定规则 345
    21.3.4 增加消息定义 346
    21.3.5 为消息添加注释 347
    21.3.6 编译.proto文件概况 347
    21.4 简单PB消息的配置 348
    21.4.1 PB的基础数据类型 348
    21.4.2 基础数据类型的默认配置 349
    21.4.3 PB的枚举类型 350
    21.5 复合PB消息的定义 351
    21.5.1 在消息中使用其他消息 351
    21.5.2 PB中的内嵌消息 353
    21.6 PB消息的高级用法 354
    21.6.1 升级一则消息 354
    21.6.2 PB的map类型 355
    21.6.3 PB的包 355
    21.6.4 PB的其他选项 356
    21.7 生成代码 358
    21.7.1 创建ProtocolBuffDemo工程 358
    21.7.2 编写第一个proto文件 360
    21.7.3 使用protoc工具编译TulingMessage.proto 361
    21.7.4 使用生成TulingMessages类 362
查看详情
系列丛书 / 更多
Android Launcher应用开发
第一行代码:Android
郭霖 著
Android Launcher应用开发
啊哈!算法
啊哈磊 著
Android Launcher应用开发
推荐系统实践
项亮 著
Android Launcher应用开发
深入浅出Node.js
朴灵 著
Android Launcher应用开发
SEO教程:搜索引擎优化入门与进阶(第3版)
吴泽欣 著
Android Launcher应用开发
Go语言编程
许式伟 著
Android Launcher应用开发
Unity 3D游戏开发
宣雨松 著
Android Launcher应用开发
腾云:—云计算和大数据时代网络技术揭秘
徐立冰 著
Android Launcher应用开发
iOS开发指南 从零基础到App Store上架(第3版)
关东升 著
Android Launcher应用开发
JavaScript设计模式与开发实践
曾探 著
Android Launcher应用开发
深入React技术栈
陈屹 著
Android Launcher应用开发
Docker 容器与容器云(第2版)
浙江大学SEL实验室 著
您可能感兴趣 / 更多
Android Launcher应用开发
21世纪大学英语口语中级教程(Level2学生用书)
张泳、贺春英、郭晶 编
Android Launcher应用开发
深入剖析Android开发:小应用里的大智慧
张泳、葛丽娜 著