文章目录

  • 第1章 初识JETPACK 1
  • 第2章 LIFECYCLE 9
  • 第3章 NAVIGATION 24
  • 第4章 VIEWMODEL 56
  • 第5章 LIVEDATA 67
  • 第6章 ROOM 80
  • 第7章 WORKMANAGER 102
  • 第8章 DATABINDING 113
  • 第9章 PAGING 155
  • 第10章 MVVM架构 204

出版年: 2020-7
简介:
《Android Jetpack应用指南》讲解的是Android Jetpack最核心的内容—架构。第1章将对Jetpack做一个大致的介绍。第2章至第9章,将分别详细介绍为搭建MVVM架构而设计的各个Jetpack组件,包括LiveData、ViewModel、DataBinding等。第10章是对前面各章节的总结,将向读者详细介绍什么是数据模型驱动界面更新、什么是MVVM架构,以及如何利用Jetpack组件搭建符合MVVM架构规范的应用程序。

本书假设读者对Android应用程序有基本的了解,希望系统学习Jetpack,并打算最终使用Jetpack组件架构符合MVVM规范的应用程序。

豆瓣

第1章 初识JETPACK 1

1.1 ANDROID应用程序架构设计标准的缺失概论 1
1.2 什么是JETPACK 2
1.3 JETPACK与ANDROIDX 3
1.4 迁移至ANDROIDX 4
1.5 新建项目默认支持ANDROIDX 6
1.6 总结 8

第2章 LIFECYCLE 9

2.1 LIFECYCLE的诞生 9
2.2 使用LIFECYCLE解耦页面与组件 10
2.2.1 案例分析 10
2.2.2 LifeCycle的原理 11
2.2.3 解决方案 12
2.3 使用LIFECYCLESERVICE解耦SERVICE与组件 15
2.3.1 LifeCycleService基本介绍 15
2.3.2 LifecycleService的具体使用方法 16
2.4 使用PROCESSLIFECYCLEOWNER监听应用程序的生命周期 19
2.4.1 ProcessLifecycleOwner存在的意义 19
2.4.2 ProcessLifecycleOwner的具体使用方法 19
2.5 总结 22

第3章 NAVIGATION 24

3.1 NAVIGATION的诞生 24
3.2 NAVIGATION的主要元素 25
3.3 使用NAVIGATION 26
3.3.1 创建Navigation Graph 26
3.3.2 添加NavHostFragment 28
3.3.3 创建destination 30
3.3.4 完成Fragment页面切换 33
3.3.5 使用NavController完成导航 36
3.3.6 添加页面切换动画效果 38
3.4 使用SAFE ARGS插件传递参数 40
3.4.1 常见的传递参数的方式 40
3.4.2 使用safe args传递参数 40
3.5 NAVIGATIONUI的使用方法 43
3.5.1 NavigationUI存在的意义 43
3.5.2 案例分析 43
3.5.3 扩展延伸 48
3.6 深层链接DEEPLINK 49
3.6.1 DeepLink的两种应用场景 49
3.6.2 PendingIntent的方式 50
3.6.3 URL的方式 52
3.7 总结 54

第4章 VIEWMODEL 56

4.1 视图与数据模型之间的桥梁VIEWMODEL 56
4.2 VIEWMODEL的生命周期特性 57
4.3 VIEWMODEL的基本使用方法 58
4.4 VIEWMODEL的原理 62
4.5 VIEWMODEL与ANDROIDVIEWMODEL 64

第5章 LIVEDATA 67

5.1 实时数据LIVEDATA 67
5.2 LIVEDATA和VIEWMODEL的关系 68
5.3 LIVEDATA的基本使用方法 68
5.4 LIVEDATA的原理 71

第6章 ROOM 80

6.1 ANDROID官方ORM库ROOM 80
6.2 ROOM的基本使用方法 81
6.2.1 Room的相关概念 81
6.2.2 案例分析 82
6.3 ROOM与LIVEDATA、VIEWMODEL结合使用 87
6.3.1 LiveData和ViewModel带来的好处 87
6.3.2 案例优化 89
6.4 ROOM数据库升级 91
6.4.1 使用Migration升级数据库 91
6.4.2 异常处理 92
6.4.3 Schema文件 93
6.4.4 销毁与重建策略 95
6.5 预填充数据库 96

第7章 WORKMANAGER 102

7.1 WORKMANAGER的作用 102
7.2 WORKMANAGER的3个重要特点 102
7.3 WORKMANAGER的兼容方案 103
7.4 WORKMANAGER的基本使用方法 104
7.4.1 添加依赖 104
7.4.2 使用Worker类定义任务 104
7.4.3 使用WorkRequest配置任务 105
7.4.4 将任务提交给系统 107
7.4.5 观察任务的状态 107
7.4.6 取消任务 108
7.4.7 WorkManager与Worker之间的参数传递 108
7.4.8 周期性任务PeriodicWorkRequest 110
7.4.9 任务链 110
7.5 总结 112

第8章 DATABINDING 113

8.1 DATABINDING的意义和优势 113
8.2 DATABINDING的简单绑定 114
8.2.1 未采用DataBinding的编码方式 114
8.2.2 采用DataBinding完成简单的绑定 116
8.3 DATABINDING响应事件 124
8.4 二级页面的绑定 127
8.5 BINDINGADAPTER的原理 130
8.6 自定义BINDINGADAPTER 132
8.6.1 自定义BindingAdapter的基本方法 132
8.6.2 方法重载 135
8.6.3 多参数重载 137
8.6.4 可选旧值 138
8.7 双向绑定 141
8.7.1 单向绑定和双向绑定 141
8.7.2 实现双向绑定 142
8.7.3 使用ObservableField优化双向绑定 145
8.7.4 ObservableField与LiveData 146
8.8 RECYCLERVIEW的绑定机制 147
8.9 总结 154

第9章 PAGING 155

9.1 PAGING组件的意义 155
9.2 PAGING支持的架构类型 155
9.3 PAGING的工作原理 157
9.4 PAGING的3个核心类 158
9.5 3种DATASOURCE 159
9.6 POSITIONALDATASOURCE的使用方法 160
9.7 PAGEKEYEDDATASOURCE的使用方法 176
9.8 ITEMKEYEDDATASOURCE的使用方法 184
9.9 BOUNDARYCALLBACK的使用方法 190
9.9.1 BoundaryCallback的意义 190
9.9.2 BoundaryCallback的使用流程分析 191
9.9.3 项目演示 192
9.10 总结 202

第10章 MVVM架构 204

10.1 MVVM架构与JETPACK 204
10.2 数据模型驱动界面更新 204
10.3 简要回顾JETPACK组件 206
10.4 使用JETPACK组件构建MVVM应用程序 207
10.5 总结 224

《Android Jetpack》— Android 书籍相关推荐

  1. Android高级进阶书籍推荐

    中级进阶推荐看一下以下这几本书: <Android从入门到精通(附光盘)> 明日科技 编 <第一行代码2 Android(第二版)> 郭霖 著 <Android开发进阶 ...

  2. 【提升技能必备】这基本Android高级进阶的好书值得一看

    Android开发的书籍有很多,下面简单的就我看过的感觉写的很全面,很深入,很有启示意义的几本书推荐给大家,希望大家在闲暇之时也能买来看看.(只是介绍书籍,想买的自己百度书名.别误会.)当然如果你觉得 ...

  3. 【提升技能必备】这几本Android高级进阶的好书值得一看

    点击上方蓝字关注公众号 码个蛋第271次推文 备点年货 作者:AWeiLoveAndroid 博客:https://www.jianshu.com/u/f408bdadacce Android开发的书 ...

  4. [总]Android高级进阶之路

    个人Android高级进阶之路,目前按照这个目录执行,执行完毕再做扩展!!!!! 一.View的绘制 1)setContentView()的源码分析 2)SnackBar的源码分析 3)利用decor ...

  5. 11 | Android 高级进阶(源码剖析篇) Square 高效易用的 IO 框架 okio(四)

    作者简介:ASCE1885, <Android 高级进阶>作者. 本文由于潜在的商业目的,未经授权不开放全文转载许可,谢谢! 本文分析的源码版本已经 fork 到我的 Github. 超时 ...

  6. 《Android高级进阶》读书笔记

    <Android高级进阶>是据我所知的市面上唯一一本技术工具书,比较的高大全,作者的目的是为了对全领域有个初步的概念 No1: 在Android系统中,拥有事件传递处理能力的类有以下三种 ...

  7. 《Android高级进阶》小密圈开通啦

    @author ASCE1885的 Github 简书 微博 CSDN 知乎 <Android高级进阶>一书的读者可免费加入,后续会专注于原创或者分享 Android,iOS,React ...

  8. Android高级进阶——绘图篇(五)setXfermode 设置混合模式

    一.GPU硬件加速 1.概述 GPU英文全称Graphic Processing Unit,中文翻译为"图形处理器".与CPU不同,GPU是专门为处理图形任务而产生的芯片. 在GP ...

  9. (转)Android高级进阶--插曲-从Android5.0到Android9.0各版本变化

    原文:https://blog.csdn.net/gaoxiaoweiandy/article/details/83216001 从Android5.0到Android9.0 自从公司提出了一些出其不 ...

  10. Android高级进阶--插曲-从Android5.0到Android10各版本变化

    从Android5.0到Android10 一.Android5 1.ANDROID 5.0 行为变更: 声音和振动 (1)如果您当前使用 Ringtone.MediaPlayer 或 Vibrato ...

最新文章

  1. 【PMP】知识点总结20170528
  2. C代码开发遇到的问题 变量初始化和结构体指针移动
  3. Django-发送注册、忘记密码邮件验证-send_mail
  4. 东北大学 计算机调剂,2018年东北大学信息科学与工程学院考研调剂信息
  5. step1 . day10 C语言基础练习之指针和函数
  6. 藤条生长为字母的动画
  7. 逻辑人渴望控制那些让他们感兴趣的东西
  8. Async Program 基本知识 (Process、Thread、Context Switch)
  9. 各国网络安全审查制度及案例分析
  10. 单元测试框架unittest
  11. Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数 列表表达式/列表重写...
  12. 如何调用畅捷通接口_用友金蝶多组织多账套的不同数据如何合并?
  13. 阿里云盘之资源大大大福利!
  14. C语言经典回文数三种求法
  15. 海康威视实习第一周总结
  16. 点击百度网盘安装包无反应
  17. 金融、银行业务了解(自我盲点整理)
  18. 计算机学院校运会解说词,大学学院运动会入场解说词
  19. MySQL基础之索引
  20. [python] 使用Jieba工具中文分词及文本聚类概念

热门文章

  1. 牛客网——F求最大值
  2. Merge Two Sorted Lists Leetcode
  3. javascript动画效果之多物体透明度
  4. 软件工程第二次作业 软件评价
  5. OpenGL纹理贴图流程
  6. pymongo使用经验
  7. 推荐系统数据稀疏性问题
  8. ACL2021 | 一种巧妙解决NER覆盖和不连续问题的方法
  9. 隐马尔可夫HMM(EM算法(期望最大化算法)
  10. 《Spring微服务实战》读书笔记——构建微服务