说明
Android MVP+Retrofit+dagger2+RxAndroid这是目前比较流行的一套Android开发框架,我所使用的这个框架还结合了,lambda,icepick,以及butterknife下面简要介绍一下这些东西。
MVP模式:主要实在传统的MVC模式上新增了一层presenter,作为View与Model交互的中间纽带,处理与用户交互的负责逻辑。
Retrofit:是Square公司开发的一款针对Android网络请求的框架,Retrofit2底层基于OkHttp实现的。
dagger2:简而言之就是一套Android上使用的依赖注入框架。
RxAndroid:RxJava的Android版,是一套实现异步的框架。
lambd表达式:用来代替匿名的内部类,让代码变的简单、而且可读、最重要的是代码量也随之减少很多。
icepick:对activity以及fragment 的状态的保存和恢复。
butterknife:这个开源库可以让我们从大量的findViewById()和settListener()解放出来,并且使用Android Butterknife Zelezny插件可以快速生成XML文件的各种控件对应java代码。
下面是对整个框架的配置
首先在工程目录下的build.gradle文件下配置lambda与dagger2的classpath
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.3.0' classpath 'me.tatarka:gradle-retrolambda:3.2.2'//lambda配置 classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'//dagger2远程工具地址配置 } }
然后配置icepick的仓库位置,其中https://jitpack.io 是个人的依赖库仓库位置
allprojects { repositories { jcenter() mavenCentral() maven { url "https://clojars.org/repo/" }//icepick配置 maven { url "https://jitpack.io" } } }
在app目录下的build.gradle下,在顶部配置lambda,以及dagger2配置。
apply plugin: 'com.android.application' apply plugin: 'me.tatarka.retrolambda'//lambda apply plugin: 'com.neenbedankt.android-apt'//dagger2
然后是lambda java8的配置,电脑的java开发环境必须是java JDK8.0版本以上。
android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }//lambda }
最后是对所有使用到的框架的依赖引入
dependencies { apt 'com.google.dagger:dagger-compiler:2.0'//使用apt build dagger-compiler编译器 provided 'org.glassfish:javax.annotation:10.0-b28'//必须配置,dagger缺少 javax.annotation包 compile 'com.google.dagger:dagger:2.0'//dagger2配置,依赖注入,实现单例模式,解耦MVP架构 compile 'io.reactivex:rxjava:1.0.14' compile 'io.reactivex:rxandroid:1.0.1'//rxandroid 配置,实现异步操作 // compile 'com.squareup.retrofit:retrofit:1.9.0'//retrofit配置,链接网络的库 compile 'com.squareup.retrofit2:retrofit:2.0.2' compile 'com.squareup.retrofit2:converter-gson:2.0.2' compile 'com.squareup.retrofit2:adapter-rxjava:2.0.2' compile 'com.squareup.okhttp3:logging-interceptor:3.2.0' compile 'frankiesardo:icepick:3.1.0' apt 'frankiesardo:icepick-processor:3.1.0'//icepick配置,用来保存和恢复状态 compile 'com.jakewharton:butterknife:6.1.0'//butterknife配置,使用Android Butterknife Zelezny插件,简化findViewById()和settListener()}
共同学习,写下你的评论
评论加载中...
作者其他优质文章