1. 程式人生 > >MVVM框架之DataBinding的使用和框架封裝

MVVM框架之DataBinding的使用和框架封裝

今天世界盃賭球又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); }
佈局改根佈局為layout即可

這裡寫圖片描述