为了开发效率,记录一下自己的开发框架,整体使用mvvm的模式,使用android自带的databinding开发数据驱动的页面逻辑。
大致分为几个部分,common存放一般在各个模块都会用到的类,module是项目模块,主要是业务模块,如user用户模块,user下有有三个包ui/model/viewCtrl ui存放该模块下的Activity,viewCtrl存放的是业务处理逻辑类,用过databinding的都知道,databing可以绑定类,viewCtrl就是界面视图的逻辑类,model存放数据模型。network是网路框架,utils是工具包,views是自定义的view
github地址:temp模板地址
项目适配的方案是以限定符进行适配,以screeMatch工具批量生成。参考
项目中所用到三方库:
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.zjhc.jxzq.temp"
minSdkVersion 15
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
javaCompileOptions {
annotationProcessorOptions {
arguments = [moduleName: project.getName()]
}
}
}
dataBinding {
enabled = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildTypes {
release {
//是否开启zip优化
zipAlignEnabled tr