lib_opensource
:第三方build.gradle
依赖,本项目主要有support、lifecycle、room、fresco、retrofit、okhttp、RxJava、ARouter
这些。
-lib_coremodel
: 存放MVVM
中的Model
和ViewModel
两个模块,就是数据的处理和数据与UI页面的绑定。依赖lib_opensource
库。
-lib_common
: 公共库,主要有各种base,各种ui组件,自定义组件,公用的Activity
、公用的Fragment
,和公用的utils
等等。依赖lib_coremodel
库。
-
module_girls
: 子功能模块,可以在library
和application
之间切换,自己可以是一个app也可以成为别的app的一个组件模块。组件化编译时为app,反之为module
。 -
module_news
: 新闻功能模块,可以在library
和application
之间切换,自己可以是一个app也可以成为别的app的一个组件模块。组件化编译时为app
,反之为module
-
app_universal
: 定制版本的app,组件化编译时module_girls
和module_news
为app,所以不能把这两个作为module加进来编译,所以组件化编译时app_universal
要依赖lib_common
库,反之就可以把module_girls
和module_news
作为module加进来编译。 -
app_specific
: 定制版本的app
,组件化编译时module_girls
和module_news
为app,所以不能把这两个作为module加进来编译,所以组件化编译时app_specific
要依赖lib_common
库,反之就可以把module_girls
和module_news
作为module
加进来编译
五:android MVVM框架实现 Robobinding
-
Android平台上有一些比较好的MVVM框架,其中用的比较多的是RoboBinding,Robobinding。
-
为了精简框架,RoboBinding移除了大量不必要的代码,比如addXXListener(),findViewById()等。
-
可以将难以测试的Android代码转换为普通的JUnit测试。
-
提供对象类型Cursor来替换 - 关系类型Cursor,因为我们已经习惯于操作对象 。
<