MVVM框架之DataBinding的使用和框架封裝
阿新 • • 發佈:2019-01-23
今天世界盃賭球又TM贏了,開心的激動的睡不著,寫點東西來紀念此刻這小小的激動。
很早之前就一直流行的MVVM框架,之前一直無緣有機會使用,經過時間的沉澱,這個框架越來越流行起來,隨之流行起來的還有DataBinding這個充滿戲劇性色彩的多功能佈局。
databinding框架是一個數據框架,它主要的處理是在xml佈局中對複雜的介面做處理,不僅簡化了頻繁地findViewById,還增加了程式碼的耦合性,同時這個框架還可以加快xml的解析速度,所以,我們還是要緊緊跟隨時代進步才行。
在使用databinding中,遇到的問題
一、匯入網上的demo時,佈局中的databinding引入使用有問題
解決方法:app的build.gradle中缺少對databinding的框架的引入導致的
在buildTypes的外層上面新增上如下程式碼:
//...
//----------------------------------
dataBinding{
enabled = true
}
//----------------------------------
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt' ), 'proguard-rules.pro'
}
}
這樣,程式碼中引入的一些有關databinding的方法和工具類就可以正常使用了。
二、在activity中如果使用自定義binding時,會用到DataBindingUtil方法來建立佈局,此時如果希望使用這個util,需要將對應的介面佈局的根佈局改為layout,這樣才能正常建立binding類並使用上
程式碼如下:
private ActivityMainBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
}