日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

Android MVVM封装,MVVMFramework

發(fā)布時(shí)間:2025/3/20 Android 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android MVVM封装,MVVMFramework 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

軟件簡(jiǎn)介

這是一個(gè)搭建MVVM模式極速開發(fā)庫(kù),DataBinding 和 Retrofit 配合使用搭建的快速框架。

環(huán)境

AndroidStudio 2.1

MVVM模式

MVVM模式:View,ViewModel,Model,三者關(guān)系如上圖。 Android 的MVVM模式:View 在 大多情況下是指

Activity,也因?yàn)楹芏嗖僮餍枰玫紺ontext,Activity也充當(dāng) Controller

的角色,很多人喜歡把邏輯寫在Activity中也是這個(gè)原因。在我眼里,MVVM模式解讀應(yīng)該是

Activity是View和分發(fā)器,邏輯處理等寫在ViewModel

中需要分發(fā)的時(shí)候回調(diào)給Activity分發(fā),而數(shù)據(jù)則是Model提供,大多數(shù)情況下Model是數(shù)據(jù)固定后不用改變的。這才是真正的MVVM模式。

Databinding的出現(xiàn)使得上面的假設(shè)成立,初試Databinding發(fā)現(xiàn)大大簡(jiǎn)便了開發(fā),加上現(xiàn)在支持雙向綁定,實(shí)在是太棒了。

超高速搭建MVVM模式的庫(kù)

目前MVVM模式的項(xiàng)目還不多,大多都是MVC,MVP模式,對(duì)于Android

的MVVM模式的架構(gòu)應(yīng)該怎么搭建,怎么使用,這方面完整的知識(shí)并不多見。在此拋磚引玉,提出一個(gè)方案。

Databinding可以跳過(guò)Activity的findViewById直接和xml中控件進(jìn)行雙向綁定,對(duì)于數(shù)據(jù)顯示帶來(lái)了大大的便利。我們大多數(shù)項(xiàng)目中列表占了很重要的一環(huán),其中列表數(shù)據(jù)綁定、刷新、加載更多、點(diǎn)擊響應(yīng)、狀態(tài)顯示都是常用而且可以封裝起來(lái)的。

而對(duì)于網(wǎng)絡(luò)庫(kù),我使用了Retrofit ,返回同一了JSON格式:{“status”:0,”msg”:”提示消息”,”content”:{}} ,其中

content 里面數(shù)據(jù)如果是列表則是 JSONArray,非列表則是JSONObject。 兩者相配合,實(shí)現(xiàn)了快速?gòu)木W(wǎng)絡(luò)獲取數(shù)據(jù)并顯示:

只需兩句話就能完成 加載網(wǎng)絡(luò)數(shù)據(jù)后綁定數(shù)據(jù)并顯示

public?Call>>?onLoadListHttpRequest();

public?void?setItemLayout(int?itemLayout);

總結(jié)

以上是生活随笔為你收集整理的Android MVVM封装,MVVMFramework的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。