MVVMFrame
MVVMFrame for Android 是一个基于Google官方推出的Architecture Components dependencies (Lifecycle,LiveData,ViewModel,Room)构建的快速开发框架。有了MVVMFrame的加持,从此构建一个MVVM模式的项目变得快捷简单。
架构图
引入
Maven:
<dependency>
<groupId>com.king.frame</groupId>
<artifactId>mvvmframe</artifactId>
<version>1.0.0</version>
<type>pom</type>
</dependency>
Gradle:
implementation 'com.king.frame:mvvmframe:1.0.0'
Lvy:
<dependency org='com.king.frame' name='mvvmframe' rev='1.0.0'>
<artifact name='$AID' ext='pom'></artifact>
</dependency>
如果Gradle出现compile失败的情况,可以在Project的build.gradle里面添加如下:(也可以使用上面的GitPack来complie)
allprojects {
repositories {
maven { url 'https://dl.bintray.com/jenly/maven' }
}
}
示例
集成步骤代码示例 (示例出自于app中)
Step.1 自定义全局配置(继承MVVMFrame中的FrameConfigModule)
/**
* 自定义全局配置
* @author <a href="mailto:jenly1314@gmail.com">Jenly</a>
*/
public class ConfigModule extends FrameConfigModule {
@Override
public void applyOptions(Context context, com.king.frame.mvvmframe.di.module.ConfigModule.Builder builder) {
builder.baseUrl(Constants.BASE_URL)//TODO 配置Retrofit中的baseUrl
.retrofitOptions(new RetrofitOptions() {
@Override
public void applyOptions(Retrofit.Builder builder) {
//TODO 配置Retrofit
//如想使用RxJava
//builder.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
}
})
.okHttpClientOptions(new OkHttpClientOptions() {
@Override
public void applyOptions(OkHttpClient.Builder builder) {
//TODO 配置OkHttpClient
}
})
.gsonOptions(new GsonOptions() {
@Override
public void applyOptions(GsonBuilder builder) {
//TODO 配置Gson
}
});
}
}
Step.2 在你项目中的AndroidManifest.xml中通过配置meta-data来自定义全局配置
<!-- MVVMFrame 全局配置 -->
<meta-data android:name="com.king.mvvmframe.app.config.ConfigModule"
android:value="FrameConfigModule"/>
Step.3 用你项目的Application继承MVVMFrame中的BaseApplication
/**
* @author <a href="mailto:jenly1314@gmail.com">Jenly</a>
*/
public class App extends BaseApplication {
@Override
public void onCreate() {
super.onCreate();
ApplicationComponent appComponent = DaggerApplicationComponent.builder()
.appComponent(getAppComponent())
.build();
//注入
appComponent.inject(this);
}
}
关于我
Name: Jenly
Email: jenly1314#gmail.com / jenly1314#vip.qq.com
CSDN: jenly121
Github: jenly1314
微信公众号:
加入QQ群: 20867961