an android studio template that create mvp class quickly.
- 这是一个
android studio模板。主要方便快捷创建MVP+Dagger架构模式的相关类。 - 本模板根据
repository:MvpDaggerRetrofit 来设置。 具体可参考对应的repository例子。
- 下载本
MvpDagger2Template项目工程 - 将
MvpDagger2ActivityMvpDagger2Init两个文件夹都拷贝到android studio安装目录下的 \plugins\android\lib\templates\activities 目录中 - 重启
android studio使之生效
- 使用顺序:第一次使用,先用
setUp进行相关初始化操作,如:添加依赖,以及生成Application类等。 - 然后就可以使用,新建一个
Mvp Activity。当每次新加一个功能模块都可以使用该新建Activity方式,进行相关类生成。 其中生成的类都放在功能模块对应的包下。 - 重新
make project。 进行该操作Dagger2会自动生成中间类文件(若没有生成,下面会进行说明)。 - 导入
Dagger2自动生成的中间文件。一般我都会设置Android studio自动导包功能。 - 替换
AndroidManifest.xml中Application类名为生成的Application。
针对使用第3条,有可能会出现Dagger2无法自动生成相关中间文件。原因是因为build.gradle引用的Dagger2编译器错误,
导致无法正常编译相关中间文件。解决办法:
-
先去掉原先模块中
build.gradle中的dependencies引用dagger2的编译方式:compile com.google.dagger:dagger-compiler:2.0.2
-
改为引用apt的方式,在模块
build.gradle中开始处加入:apply plugin: 'android-apt'
同时
dependencies改为apt 'com.google.dagger:dagger-compiler:2.0.2'
-
工程
build.gradle中buildscript节点下的dependencies加入:classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
-
上述更改只针对
dagger2的编译器依赖方式。dagger2本身的依赖方式不变。 -
改完重新
sync以及重新make project才生效。 -
参考资料:Dagger2引入
出现上述问题的原因是:由于freeMarker语法dependency(暂时)并不支持以apt的方式引入。只支持compile方式原始
引入。
