Jetpack 系列的产品分为四个模块,基础模块,架构模块,行为模块,界面模块四个模块,其他模块的东西相对于来说比较简单容易上手,而且对于开发影响比较大的是架构这个模块的东西,所以希望把重心放在架构这一模块上,其他模块在之后推进。
对于每一个模块都希望作者可以讲述出这基本的几点,对于每个模块需较为注意的点分别给出了。
- 它是什么?
- 它解决了什么问题?
- 它怎么用?(这里其实就是组件的基本操作 如 Room基本的CRUD)
- 它在真实开发过程中使用的案例是什么样的?
- 它内部是怎么去做的?(这个可以放在文章最末出去讲解,但是不要大段源码贴上来,讲出最关键的几个就好,主要是思想!)
- 总结,付源码地址(开源地址)
- 首先并没有那么重要,东西也没那么多,但是对于以后的项目搭建是一个基础知识,所以作为先导篇先行讲述。
- Android.* -> AndroidX 改变了什么?
- 老项目迁移到AndroidX应该注意的事项。
- 选择依赖库时我们应该怎么选择。
- 它是怎么和生命周期绑定在一起的?
- 它的事件是如何分发到观察者的?
- 和 Rxjava 的对比,这里要注意一下 RxJava 不仅仅是 RxJava
- 它怎么处理得内存泄漏以及空View?
- 怎么感知的生命周期?
- 怎么去除它本身得粘性?
- 重点说明一下 VM 应该担负的责任和不应该去担负的责任
- VM本身的复用
- 一次性的数据怎么处理(可能是事件总线,或者一次Toast显示)
- 如果要增加P层处理业务和 Repository(数据仓库)去获取数据,怎么去添加?
- 业务和逻辑的分离边界怎么把握?什么代码写在 XML 里面,什么写在代码里面
- 自定义属性
- 注解讲解
- 数据库更新
- 多表联查
- 和其他组件配合使用, Rxjava LiveData
- 什么情况下才用?(这里我觉得小数据加载完全没必要,只有一次性得到了大量数据的时候才用)
- 多数据源
- 多分页策略
- DifffUtil 的配合使用
- Rxjava 和 LiveData 的配合
- 和 Service 的对比说明
- 基本类的和方法
- 任务约束条件
- 链式任务
- 真实 Demo 使用例子(网络请求,上传等操作)
- Api讲解一定要透彻。
待续。。。。
叙述模块的时候要可能需要注意几点,这样可以帮助没接触过的开发者有一个选择上手的过程,另外文章中的语言尽量是Kotlin毕竟要贴合另一个主题哒
模块组合是比较有趣的事情,也是这个系列产品可以大大提高生产力的部分,这里我只简单的列出了几种搭配组合.
这个组合就很多了,这里希望可以多多讨论,碰撞出更多的组合来使用,但是不要为了组合和组合,一定要贴合真实开发环境