Skip to content

AsherYang/MvpDagger2Template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MvpDagger2Template

an android studio template that create mvp class quickly.

说明

  1. 这是一个android studio 模板。主要方便快捷创建 MVP + Dagger 架构模式的相关类。
  2. 本模板根据repository: MvpDaggerRetrofit 来设置。 具体可参考对应的repository例子。

前奏

  1. 下载本MvpDagger2Template项目工程
  2. MvpDagger2Activity MvpDagger2Init 两个文件夹都拷贝到android studio安装目录下的 \plugins\android\lib\templates\activities 目录中
  3. 重启android studio 使之生效

使用

  1. 使用顺序:第一次使用,先用setUp进行相关初始化操作,如:添加依赖,以及生成Application类等。
  2. 然后就可以使用,新建一个Mvp Activity。当每次新加一个功能模块都可以使用该新建Activity方式,进行相关类生成。 其中生成的类都放在功能模块对应的包下。
  3. 重新make project。 进行该操作Dagger2会自动生成中间类文件(若没有生成,下面会进行说明)。
  4. 导入Dagger2自动生成的中间文件。一般我都会设置Android studio自动导包功能。
  5. 替换AndroidManifest.xmlApplication类名为生成的Application

问题

针对使用第3条,有可能会出现Dagger2无法自动生成相关中间文件。原因是因为build.gradle引用的Dagger2编译器错误, 导致无法正常编译相关中间文件。解决办法:

  1. 先去掉原先模块中build.gradle 中的dependencies引用dagger2的编译方式:

    compile com.google.dagger:dagger-compiler:2.0.2
  2. 改为引用apt的方式,在模块build.gradle中开始处加入:

    apply plugin: 'android-apt'

    同时dependencies改为

    apt 'com.google.dagger:dagger-compiler:2.0.2'
  3. 工程build.gradlebuildscript节点下的dependencies加入:

    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
  4. 上述更改只针对dagger2的编译器依赖方式。dagger2本身的依赖方式不变。

  5. 改完重新sync以及重新make project才生效。

  6. 参考资料:Dagger2引入

原因:

出现上述问题的原因是:由于freeMarker语法dependency(暂时)并不支持以apt的方式引入。只支持compile方式原始 引入。

About

an android studio template that create mvp class quickly.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published