Dagger2Kotlin示例项目

Dagger2 的 Kotlin 示例项目,蛮适合刚上手依赖注入的同学练练手。用的还是比较经典的搭配:Dagger2 + Retrofit + RxJava2,配上 MVP 架构,思路清晰,改造扩展也方便。

生产代码+测试写得比较规范,像 build.gradle 的依赖配置,版本用的是 2.9,虽然不是最新版,但胜在稳定,还蛮适合教学用的。测试这块也上了 JUnitMockitoHakoCo(测试范围),对写单元测试比较友好。

你要是刚开始研究 Dagger2,建议先从这个项目下手,基本的注入方式、组件关系、作用域配置都能学到,而且搭配实际业务场景比死记 API 好理解多了。顺手还能学点 Retrofit网络通信封装 的写法,一箭三雕哦。

相关的内容也挺多,像Kotlin + MVP 架构结合 Dagger2Dagger2 在 Kotlin 项目的实际配置这些文章都可以搭配着看看。

如果你正准备搭一个干净利落的项目骨架,不妨把这个示例项目 clone 下来琢磨琢磨,顺手还能做个脚手架模板,多省事。

zip
Dagger2-master.zip 预估大小:79个文件
folder
Dagger2-master 文件夹
file
.travis.yml 785B
file
gradlew.bat 2KB
file
gradlew 5KB
file
gradle.properties 782B
folder
app 文件夹
file
proguard-rules.pro 668B
folder
src 文件夹
folder
test 文件夹
folder
resources 文件夹
file
github_profile.json 1KB
file
repo.json 192B
folder
java 文件夹
folder
com 文件夹
folder
werockstar 文件夹
folder
dagger2demo 文件夹
folder
presenter 文件夹
file
GithubUserPresenterTest.kt 2KB
file
RepoPresenterTest.kt 2KB
folder
model 文件夹
file
GithubUserTest.kt 1KB
file
RepoTest.kt 961B
file
JsonResource.kt 338B
folder
util 文件夹
file
KeyboardUtilTest.kt 915B
file
RxScheduler.kt 233B
folder
androidTest 文件夹
folder
resources 文件夹
file
github_profile.json 1KB
file
repo.json 192B
folder
java 文件夹
folder
com 文件夹
folder
werockstar 文件夹
folder
dagger2demo 文件夹
file
MockTestApplication.kt 496B
folder
di 文件夹
file
MockActivityModule.kt 330B
folder
component 文件夹
file
TestComponent.kt 626B
file
MockAndroidModule.kt 492B
file
MockApplicationModule.kt 548B
file
MockHttpModule.kt 1KB
file
LoadJsonResource.kt 264B
file
MockTestRunner.kt 391B
folder
view 文件夹
folder
activity 文件夹
file
MainActivityTest.kt 4KB
folder
main 文件夹
folder
res 文件夹
folder
mipmap-xxxhdpi 文件夹
file
ic_launcher.png 10KB
folder
mipmap-hdpi 文件夹
file
ic_launcher.png 3KB
folder
values 文件夹
file
colors.xml 508B
file
strings.xml 249B
file
styles.xml 1KB
file
dimens.xml 211B
folder
mipmap-xxhdpi 文件夹
file
ic_launcher.png 8KB
folder
mipmap-mdpi 文件夹
file
ic_launcher.png 2KB
folder
mipmap-xhdpi 文件夹
file
ic_launcher.png 5KB
folder
anim 文件夹
file
slide_up.xml 387B
folder
layout 文件夹
file
fragment_main.xml 2KB
file
repo_item_row.xml 1KB
file
activity_main.xml 398B
file
fragment_repo.xml 727B
folder
values-w820dp 文件夹
file
dimens.xml 358B
folder
java 文件夹
folder
com 文件夹
folder
werockstar 文件夹
folder
dagger2demo 文件夹
folder
di 文件夹
file
ApplicationContext.kt 158B
folder
component 文件夹
file
AppComponent.kt 790B
file
ActivityComponent.kt 276B
file
PerActivity.kt 142B
folder
module 文件夹
file
ActivityModule.kt 417B
file
ApplicationModule.kt 620B
file
RxThreadModule.kt 680B
file
HttpModule.kt 1KB
file
AndroidModule.kt 465B
file
ActivityContext.kt 154B
folder
presenter 文件夹
file
BaseView.kt 112B
file
RepoPresenter.kt 976B
file
GithubUserPresenter.kt 1KB
folder
model 文件夹
file
Repo.kt 397B
file
GithubUser.kt 384B
folder
view 文件夹
folder
fragment 文件夹
file
MainFragment.kt 3KB
file
RepoFragment.kt 3KB
folder
activity 文件夹
file
MainActivity.kt 1KB
folder
api 文件夹
file
GithubAPI.kt 440B
folder
adapter 文件夹
file
RepoAdapter.kt 891B
file
OnClickRepository.kt 157B
file
RepoViewHolder.kt 770B
file
MainApplication.kt 716B
folder
rx 文件夹
file
RxThread.kt 638B
folder
util 文件夹
file
URL.kt 101B
file
KeyboardUtil.kt 387B
file
AndroidManifest.xml 840B
file
.gitignore 7B
file
build.gradle 4KB
folder
gradle 文件夹
folder
wrapper 文件夹
file
gradle-wrapper.jar 52KB
file
gradle-wrapper.properties 232B
folder
fastlane 文件夹
file
Fastfile 519B
file
Appfile 160B
file
ui-testing.gif 2.8MB
file
.gitignore 170B
file
circle.yml 576B
file
README.md 1008B
file
settings.gradle 15B
file
build.gradle 482B
...
zip 文件大小:2.88MB