最火開(kāi)源框架MVVMhabit
一. 準(zhǔn)備工作
二. 快速上手
三. 數(shù)據(jù)綁定
四. 其他
1.1鲫凶、啟用databinding
在主工程app的build.gradle的android {}中加入:
dataBinding {
enabled true
}
1.2宣增、依賴Library
從遠(yuǎn)程依賴:
在根目錄的build.gradle中加入
allprojects {
repositories {
...
google()
jcenter()
maven { url 'https://jitpack.io' }
}
}
在主項(xiàng)目app的build.gradle中依賴
dependencies {
...
implementation 'com.github.goldze:MVVMHabit:3.1.2'
}
或
下載例子程序,在主項(xiàng)目app的build.gradle中依賴?yán)映绦蛑械?strong>mvvmhabit:
dependencies {
...
implementation project(':mvvmhabit')
}
1.3封断、配置config.gradle
如果不是遠(yuǎn)程依賴,而是下載的例子程序舶担,那么還需要將例子程序中的config.gradle放入你的主項(xiàng)目根目錄中坡疼,然后在根目錄build.gradle的第一行加入:
apply from: "config.gradle"
注意: config.gradle中的
android = [] 是你的開(kāi)發(fā)相關(guān)版本配置,可自行修改
support = [] 是你的support相關(guān)配置衣陶,可自行修改
dependencies = [] 是依賴第三方庫(kù)的配置柄瑰,可以加新庫(kù),但不要去修改原有第三方庫(kù)的版本號(hào)剪况,不然可能會(huì)編譯不過(guò)
1.4教沾、配置AndroidManifest
添加權(quán)限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
1.5、配置Application:
繼承mvvmhabit中的BaseApplication译断,或者調(diào)用
BaseApplication.setApplication(this);
來(lái)初始化你的Application
可以在你的自己AppApplication中配置
//是否開(kāi)啟日志打印
KLog.init(true);
//配置全局異常崩潰操作
CaocConfig.Builder.create()
.backgroundMode(CaocConfig.BACKGROUND_MODE_SILENT) //背景模式,開(kāi)啟沉浸式
.enabled(true) //是否啟動(dòng)全局異常捕獲
.showErrorDetails(true) //是否顯示錯(cuò)誤詳細(xì)信息
.showRestartButton(true) //是否顯示重啟按鈕
.trackActivities(true) //是否跟蹤Activity
.minTimeBetweenCrashesMs(2000) //崩潰的間隔時(shí)間(毫秒)
.errorDrawable(R.mipmap.ic_launcher) //錯(cuò)誤圖標(biāo)
.restartActivity(LoginActivity.class) //重新啟動(dòng)后的activity
//.errorActivity(YourCustomErrorActivity.class) //崩潰后的錯(cuò)誤activity
//.eventListener(new YourCustomEventListener()) //崩潰后的錯(cuò)誤監(jiān)聽(tīng)
.apply();