展开全部

主编推荐语

本书系统讲解了Android Jetpack组件库的使用和原理。

内容简介

本书具体涉及应用架构、生命周期管理、数据库操作、UI数据绑定等。

第1章概括地讲述Android Jetpack的目标、内容等;第2~5章介绍Jetpack组件中的基础内容,具体涉及用于不同Android版本间的UI兼容处理组件、用于Kotlin编程语言的KTX扩展组件、多Dex打包APK组件以及包含单元测试、UI测试、集成测试的测试组件;第6~13章介绍Jetpack组件库中架构的内容,这也是本书的重点部分,具体涉及视图绑定组件、生命周期组件、页面导航组件等多种架构组件,以及用于本地数据库存储的Room组件和用于处理分页加载的Paging组件。

通过使用Jetpack可以大大提升Android开发的效率,因此本书非常适合Android开发人员使用。

目录

  • 版权信息
  • 内容简介
  • 作者简介
  • 前言
  • 第1章 概述
  • 1.1 Android Jetpack是什么
  • 1.1.1 基础部分
  • 1.1.2 架构部分
  • 1.1.3 界面部分
  • 1.1.4 行为部分
  • 1.2 Android Jetpack的发展史与AndroidX
  • 1.2.1 Android App开发简史
  • 1.2.2 Android Jetpack的诞生和使命
  • 1.2.3 Android Jetpack与AndroidX的关系
  • 1.3 如何使用本书
  • 1.3.1 开发环境概览
  • 1.3.2 本书的结构
  • 1.3.3 本书的用法
  • 第2章 Appcompat UI兼容组件
  • 2.1 Appcompat概览
  • 2.2 集成Appcompat库
  • 2.3 App Bar
  • 2.3.1 什么是App Bar
  • 2.3.2 添加ToolBar控件
  • 2.3.3 给ToolBar设置标题和子标题
  • 2.3.4 在ToolBar上添加图标
  • 2.3.5 在ToolBar上增加返回按钮
  • 2.3.6 在ToolBar上添加菜单
  • 2.3.7 为ToolBar添加搜索功能
  • 2.3.8 自定义ToolBar样式
  • 2.3.9 ToolBar小结
  • 2.4 AppCompatActivity与AppCompatDelegate
  • 2.4.1 认识AppCompatActivity
  • 2.4.2 实战AppCompatDelegate
  • 2.5 AppCompatDialogFragment
  • 2.5.1 AppCompatDialogFragment和AppCompatDialog
  • 2.5.2 实战简单对话框
  • 2.5.3 实战列表选择对话框
  • 2.5.4 自定义菜单布局
  • 2.5.5 AppCompatDialogFragment小结
  • 2.6 AppCompatResources
  • 2.6.1 点击状态选择器
  • 2.6.2 从resId获取Drawable对象
  • 2.7 AnimatedStateListDrawableCompat
  • 2.7.1 定义动画执行脚本
  • 2.7.2 执行动画
  • 2.8 ActionMenuView
  • 2.8.1 添加菜单项
  • 2.8.2 添加ActionMenuView
  • 2.8.3 绑定ActionMenuView和菜单项,并实现点击响应
  • 2.9 AppCompatAutoCompleteTextView与AppCompatMultiAutoCompleteTextView
  • 2.9.1 认识ViewCompat类
  • 2.9.2 理解PorterDuff混合模式
  • 2.9.3 实战更改背景色调
  • 2.10 AppCompatButton和AppCompatToggleButton
  • 2.10.1 设置按钮文本风格
  • 2.10.2 设置按钮文本是否自动大写
  • 2.11 AppCompatCheckBox与AppCompatRadioButton
  • 2.12 AppCompatCheckedTextView
  • 2.13 AppCompatEditText
  • 2.13.1 定义操作菜单
  • 2.13.2 实现所选文本自定义操作功能
  • 2.14 AppCompatImageButton和AppCompatImageView
  • 2.14.1 图片色调适用场景
  • 2.14.2 添加矢量图素材
  • 2.14.3 定义矢量图色调
  • 2.14.4 设置矢量图色调
  • 2.15 AppCompatSpinner
  • 2.16 AppCompatTextView
  • 2.16.1 文本自适应显示使用场景
  • 2.16.2 开启自适应显示模式
  • 2.16.3 配置自定义缩放方式
  • 2.16.4 通过预设值方式缩放
  • 2.17 TooltipCompat
  • 2.18 其他控件及注意事项
  • 第3章 Android KTX扩展组件
  • 3.1 概述
  • 3.2 Core KTX
  • 3.2.1 Animation
  • 3.2.2 Content
  • 3.2.3 Database
  • 3.2.4 Graphics
  • 3.2.5 Util
  • 3.2.6 View
  • 3.3 Collection
  • 3.3.1 集成Collection KTX
  • 3.3.2 获取集合中所有的Key和Value
  • 3.3.3 集合的遍历
  • 3.3.4 集合元素的增加与替换
  • 3.4 Fragment
  • 3.4.1 集成Fragment KTX
  • 3.4.2 Fragment事务操作
  • 3.5 小结
  • 第4章 MultiDex打包APK
  • 4.1 APK解构
  • 4.2 64KB方法数限制
  • 4.3 避免64KB方法数限制
  • 4.3.1 问题重现
  • 4.3.2 使用MultiDex
  • 4.3.3 MultiDex的局限性
  • 4.3.4 缩减方法数
  • 4.4 问题排查
  • 第5章 Test构建测试
  • 5.1 概述
  • 5.2 构建App的最佳实践
  • 5.3 测试的最佳实践
  • 5.3.1 测试的分类
  • 5.3.2 用于编写测试代码的目录结构
  • 5.3.3 选择测试设备
  • 5.3.4 添加测试依赖库
  • 5.4 单元测试
  • 5.4.1 本地单元测试
  • 5.4.2 设备单元测试
  • 5.5 UI测试
  • 5.5.1 Espresso
  • 5.5.2 UI Automator
  • 5.6 集成测试
  • 5.6.1 运行针对Service的测试
  • 5.6.2 运行针对Content Provider的测试
  • 5.6.3 针对Broadcast的测试
  • 第6章 ViewBinding和DataBinding
  • 6.1 Android应用架构原则
  • 6.1.1 分离关注点
  • 6.1.2 通过模型驱动界面
  • 6.1.3 官方建议的应用架构
  • 6.1.4 Android Jetpack架构组件
  • 6.2 视图绑定
  • 6.2.1 启用视图绑定支持
  • 6.2.2 实战视图绑定
  • 6.3 数据绑定
  • 6.3.1 声明式编程简述
  • 6.3.2 启用数据绑定支持
  • 6.3.3 可观察的数据对象
  • 6.3.4 实战单向数据绑定
  • 6.3.5 创建和自定义绑定类
  • 6.3.6 绑定适配器
  • 6.3.7 双向数据绑定
  • 第7章 生命周期
  • 7.1 概述
  • 7.2 实战Lifecycle组件
  • 7.2.1 添加依赖项
  • 7.2.2 实现生命周期感知接口
  • 7.2.3 使用生命周期感知类
  • 7.3 Lifecycle KTX API
  • 第8章 页面导航
  • 8.1 页面导航原则
  • 8.1.1 向上和返回按钮的逻辑
  • 8.1.2 设计导航堆栈
  • 8.1.3 针对深层链接跳转的返回处理
  • 8.2 实战Navigation组件
  • 8.2.1 一个简单的示例
  • 8.2.2 添加导航目的地
  • 8.2.3 构建导航图
  • 8.2.4 在目的地之间跳转
  • 8.3 Navigation KTX API
  • 8.3.1 Navigation Runtime KTX
  • 8.3.2 Navigation Fragment KTX
  • 8.3.3 Navigation UI KTX
  • 第9章 ViewModel视图数据模型
  • 9.1 概述
  • 9.2 实战ViewModel
  • 9.2.1 处理屏幕旋转
  • 9.2.2 在Fragment之间共享数据
  • 9.2.3 AndroidViewModel
  • 9.3 与DataBinding组件配合使用
  • 第10章 LiveData实时数据
  • 10.1 概述
  • 10.2 LiveData组件的简单使用
  • 10.3 跨组件数据共享
  • 10.4 转换、获取、合并LiveData对象
  • 10.4.1 转换LiveData对象类型
  • 10.4.2 获取LiveData对象
  • 10.4.3 合并多个LiveData对象
  • 10.5 与其他架构组件配合使用
  • 10.5.1 LiveData与LifeCycle
  • 10.5.2 ViewModel、LiveData与DataBinding
  • 第11章 WorkManager任务管理器
  • 11.1 概述
  • 11.2 添加WorkManager依赖
  • 11.3 实战WorkManager
  • 11.3.1 定义任务
  • 11.3.2 单次任务的调度
  • 11.3.3 周期性任务的调度
  • 11.3.4 预约执行的任务
  • 11.3.5 为任务添加执行策略
  • 11.3.6 为失败的任务设置重试策略
  • 11.3.7 任务的管理
  • 11.3.8 链式任务流
  • 11.3.9 向任务传递数据
  • 11.3.10 在任务中执行异步操作
  • 11.3.11 针对需要长时间执行的任务的处理
  • 第12章 Room数据库组件
  • 12.1 概述
  • 12.2 Room的简单使用
  • 12.2.1 添加Room依赖
  • 12.2.2 设计数据表并实现实体类
  • 12.2.3 实现数据库操作
  • 12.3 实体类
  • 12.3.1 构建复合主键
  • 12.3.2 自定义字段/数据表名
  • 12.3.3 忽略特定的成员变量
  • 12.3.4 定义实体之间的关系
  • 12.4 数据访问对象类
  • 12.5 DAO类的实现规范
  • 12.6 数据的查询操作
  • 12.6.1 基本数据查询操作
  • 12.6.2 多条件查询
  • 12.6.3 过滤查询结果
  • 12.6.4 数据的插入操作
  • 12.6.5 数据的更新操作
  • 12.6.6 数据的删除操作
  • 12.7 数据库的升级
  • 12.8 设置预置数据
  • 12.9 类型转换器
  • 12.10 与LiveData组件配合使用
  • 第13章 Paging分页加载组件
  • 13.1 概述
  • 13.2 实战Paging组件
  • 13.2.1 添加依赖项
  • 13.2.2 Paging组件的结构
  • 13.2.3 构建数据源
  • 13.2.4 构建视图模型
  • 13.2.5 构建用户界面
  • 13.2.6 监听和显示加载状态
展开全部

评分及书评

评分不足
2个评分
  • 用户头像
    给这本书评了
    5.0

    本书以新的 Android Jetpack 组件库、流行版本的 Android 操作系统以及新版本的 Android Studio 为例系统讲解 Android Jetpack 的使用,具体涉及应用架构、生命周期管理、数据库操作、UI 数据绑定等方方面面,并和实际案例相结合,突出其实用性。此外,在必要时,本书还将从源码层面剖析 Jetpack 组件,让读者理解 Google 官方的设计思想。

      转发
      评论

    出版方

    清华大学出版社

    清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。