DataBinding 是 Android 官方提供的一種對(duì) MVVM 的實(shí)現(xiàn)。
借助于 DataBinding 能夠精簡(jiǎn)我們的代碼亿柑,使我們的代碼邏輯更為清晰。
有了 DataBinding 我們就可以拋棄 黃油刀术荤,拋棄 findViewByID ; 有了 DataBinding 我們就能實(shí)現(xiàn)數(shù)據(jù)變化時(shí)自動(dòng)刷新界面萝玷;有了 DataBinding 我們就能直接在布局文件中綁定事件;有了 DataBinding 我們能夠更好的解耦蹦浦∨び酰總之, 使用 DataBinding 之后的感受就是:一時(shí)使用一時(shí)爽,一直使用一直爽=耐唷蝌诡!
早期的版本中,排錯(cuò)比較費(fèi)勁枫吧,但是送漠,從 3.1 版本的 gradle 插件開始,DataBinding 更換了新的編譯器由蘑,使用了增量編譯闽寡,既提高了編譯速度,也讓排錯(cuò)變得簡(jiǎn)單尼酿。所以——
不論你之前是否接觸過(guò) DataBinding 爷狈,強(qiáng)烈推薦你看一下這篇文章。相信你看完之后裳擎,一定會(huì)愛上它涎永。
這篇文章是我在 19 年 3 月份基于 Android 官方文檔的翻譯整理版本,由于個(gè)人水平有限鹿响,難免會(huì)有不足的地方羡微,歡迎指正。
由于原文內(nèi)容比較長(zhǎng)惶我,不方便編輯妈倔,所以,煩請(qǐng)點(diǎn)擊如下鏈接查看:
后期绸贡,篇幅較長(zhǎng)的內(nèi)容會(huì)優(yōu)先發(fā)布到 GitHub, 并在 Gitee (碼云) 做同步:
所以盯蝴,建議你不妨關(guān)注一下這兩個(gè)倉(cāng)庫(kù)??
如果有不明白的內(nèi)容或者我表述有誤,歡迎留言探討听怕。