天天看點

android MVVM 資料綁定初體驗

    • 前言
    • 環境建構的坑
    • 使用總結
    • 設計思想
    • 總結
    • 問題
    • 參考資料

前言

最近在優化app,總是覺得目前的架構不如人意。看了一些安卓架構方面的文章。嘗試寫了一些mvp和mvvM的demo。尤其是嘗試mvvm,一路甚是坎坷,記錄一下。

環境建構的坑

  1. 按照教程在project的gradle檔案中添加class依賴,在module的gradle中應用插件。
    話說不報錯是不可能的,我也沒指望一次成功。首先就是

    peer no aut授權

    ,從下面的進度來看,應該是在resolve class 依賴的時候出問題了。隻能try again。
  2. 還好trya again沒有上次那個錯誤了。但是但是offline模式不能XX,提示可以關閉該模式。關閉後再次

    sync now

    聯網開始下載下傳,下載下傳失敗,伺服器拒絕。
    天朝的網絡我真是XX了,天朝網絡的坑不僅在和許多國外網站連不上或者慢,而且經常由于他導緻問題。在出現問題時,你都不知道到底什麼原因,到底是網絡的問題還是其他問題。
  3. 看網友的說法可能是sdk版本和support lib的版本問題(as更新不久,肯定沒問題),于是去更新了一下這兩個。但是不知道gradle和data_binding 包的版本問題。去官網看了一下,應該沒有問題。
    as1.5beta不久前更新的,不小心點開setting界面。發現gradle位置有錯誤提示。我點選路徑浏覽看看發現gradle檔案夾命名是2.8,而我的路徑還是之前的2.3根本不對,應該是和as一起更新的(由于配置更新後提示是否導入,選導入是以會這樣)。
  4. sdk版本和support lib,更新完成後(覺得可能是jcenter問題,于是切到開源中國鏡像庫)下載下傳了好久(我們實驗室的網速應該還是可以的)。依舊報錯本地倉庫找到data_binding的jar包,網絡也找到 data_binding的jar包,unspecied XX 。大意是我們沒有指定那個包。
    處理包依賴的時候,不是從網絡下載下傳下來了嗎。既然本地都有了,還檢索網絡包幹啥?難不成再下載下傳一遍。你這提示我也不知道怎麼specify指定啊。google了一圈,一無所獲,關機不弄了。
  5. 晚上開機的時候居然沒報4的錯誤了,居然直接gradle building通過了。

    回想一下,心累。以往隻要将錯誤資訊一google或者貼到stackoverflow中,基本就解決了,這個android 的mvvm剛剛出來,資料有一些,像一些隻有天朝才會遇到的麻煩問題,解決資料相當少。

    最麻煩的還是網上有許多似是而非的解決方案。你也不知道到底行不行。而且你還要記錄下你的改動以防該方案不行時能夠回到過去狀态。不能影響下一個解決方案。不然就徹底亂了。

使用總結

待寫

設計思想

怎樣實作雙向綁定,觀察者模式。???

待寫

總結

待寫

問題

架構到底怎麼弄。activity到底曾擔什麼樣的角色。還是隻是以前的架構加上雙向綁定、還是類似mvp那種以P為核心的細分包的架構。

參考資料

  1. <官網網址>
  2. 學習fresco的時候就看見這位來自阿裡的部落格專家