程序人生

组件化项目简介

2019-03-25  本文已影响0人  为自己代颜_

组件化

组件之间的组合

在每个组件的gradle.properties可以设置这个组件依赖了哪些组件

如app的gradle.properties
product的gradle.properties

关于组件化详细内容参考

https://github.com/luojilab/DDComponentForAndroid

Dagger2

Dagger2是一个依赖注入的框架,目的是为了解耦,达到控制反转的目的

项目中di包里的都是Dagger2的内容

官方地址:

https://github.com/google/dagger

网络

网络使用了okhttp + retrofit2 + rxjava2

官网

rxlifecycle

rxJava存在一个普遍的问题就是有可能会发生内存泄露(比如从页面A跳转到页面B,页面A应该及时取消订阅),所以需要用到rxlifecycle

如com.madai.remote.repository.ProductRepository中的bindUntilEvent

项目架构

业务组件(如home,product等)的设计参照了看这里

并且做了一些精简

考虑到本项目对于数据持久化的需求不是很大,所以去掉了ROOM(本地数据库)

使用到了LiveData,ViewModel

第三方库的引入

所有第三方库的内容都写在versions.gradle,以保证各个组件引用的库版本一致

Databinding

Databinding用于界面和数据的绑定

官方文档: https://developer.android.com/topic/libraries/data-binding/index.html

上一篇 下一篇

猜你喜欢

热点阅读