Tagged

MVVM

A collection of 2 posts

【Android】 MVVM實作 - 使用ViewModel, LiveData, DataBinding
Android

【Android】 MVVM實作 - 使用ViewModel, LiveData, DataBinding

今天要利用Youbike場站資訊的OpenData來練習MVVM的架構,主要功能就是每30秒去抓一次資料然後顯示出來。這邊會拆分成幾個步驟來做,首先會先把資料的部分處理好,也就是Call API的部分;再來會實作LiveData及DataBinding的功能,那就來看看該怎麼做吧! 資料來源這次使用的是由台北市政府提供的「YouBike臺北市公共自行車即時資訊」 API名稱:YouBike臺北市公共自行車即時資訊 API網址:https://tcgbusfs.blob.core.windows.net/blobyoubike/YouBikeTP.json 引入套件由於會使用到KAPT(Kotlin的Annotation Processing),DataBinding,anko,recyclerView及lambda的寫法,所以需要對Gradle檔案做些修改。 KAPTapply plugin: 'kotlin-kapt' android { kapt { generateStubs = true } } dependencies { implementation 'androidx.activity:activity-ktx:1.1.0' }build.gradleDataBindingandroid { dataBinding { enabled true } } dependencies

【Android】 MVC, MVP, MVVM 到底是什麼 -  Android開發為例 ?
Android

【Android】 MVC, MVP, MVVM 到底是什麼 - Android開發為例 ?

從開始寫程式以來,雖然會自己把 Activity, Database 之類的用不同的資料夾來區分,也沒在管什麼MVC, MVP更不用講今天要提到的MVVM。但隨著Android Jetpack的推出,提供一些好用的方法來實現MVVM架構,這邊就來釐清一下到底什麼是MVC, MVP, MVVM。 設計架構MVC (Model / View / Controller)MVC架構中,把程式分成了三個層級: M:Model - 負責處理與資料相關的事情,包括取得資料、儲存資料等等。V:View - 如字面上所示,就是與介面相關的東西。C:Controller - 介於View及Model之間的橋樑,接收來自View的事件,去操控Model的資料。Android 中的 MVC在Android的世界中可以將Layout的XML視為View,data class視為Model,而Activity或Fragment則是Controller。 這樣的架構看似很完美,但其實執行起來有他的困難點,首先View上元件的操控通常會寫在Activity或Fragment當中,導致Activity或Fragment需同時負責View及Controller的事情,當介面越複雜、要處理的邏輯越多時,Activity或Fragment的程式碼就會變得又臭又長。 MVP (Model / View / Presenter)