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

歡迎訪問 生活随笔!

生活随笔

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

Android

android mvp简书,Android_MVP学习

發(fā)布時間:2025/3/15 Android 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android mvp简书,Android_MVP学习 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

MVP是模型(Model)、視圖(View)、主持人(Presenter)的縮寫,分別代表項目中3個不同的模塊。

模型(Model):負(fù)責(zé)處理數(shù)據(jù)的加載或者存儲,比如從網(wǎng)絡(luò)或本地數(shù)據(jù)庫獲取數(shù)據(jù)等;

視圖(View):負(fù)責(zé)界面數(shù)據(jù)的展示,與用戶進(jìn)行交互,主要是指Fragment ,Activity;

主持人(Presenter):相當(dāng)于協(xié)調(diào)者,是模型與視圖之間的橋梁,將模型與視圖分離開來;

View層與Model層并不直接交互,而是使用Presenter作為View與Model之間的橋梁。其中Presenter中同時持有Viwe層以及Model層的Interface的引用,而View層持有Presenter層Interface的引用。當(dāng)View層某個界面需要展示某些數(shù)據(jù)的時候,首先會調(diào)用Presenter層的某個接口,然后Presenter層會調(diào)用Model層請求數(shù)據(jù),當(dāng)Model層數(shù)據(jù)加載成功之后會調(diào)用Presenter層的回調(diào)方法通知Presenter層數(shù)據(jù)加載完畢,最后Presenter層再調(diào)用View層的接口將加載后的數(shù)據(jù)展示給用戶。這就是MVP模式的整個核心過程。

這樣分層的好處就是大大減少了Model與View層之間的耦合度。一方面可以使得View層和Model層單獨開發(fā)與測試,互不依賴。另一方面Model層可以封裝復(fù)用,可以極大的減少代碼量。

-????View發(fā)生改變,不影響model

-????model發(fā)生改變,不影響View

-????presenter發(fā)生改變,只需要改persenter

下面是用MVP模擬登陸的一個簡單Demo:

首先是V層接口,里面寫了獲取賬號密碼,登陸成功和失敗四個方法,它需要到Activity或者Fragment中去實現(xiàn)。

然后到我們的M層接口,接口回調(diào)提高了代碼的復(fù)用性,CallBacks里是我們的成功失敗方法:。

寫完Model的接口之后,要去Model類里實現(xiàn)我們的接口,進(jìn)行一個簡單的賬號密碼匹配,如果匹配成功返回我們CallBacks里邊的成功方法,然后傳入?yún)?shù)。

然后重要的P層,P層需要持有M和V層,然后讓它們進(jìn)行關(guān)聯(lián),V層的onGetName,onGetPassword方法把賬號密碼傳給M層讓之進(jìn)行匹配。利用callbacks把參數(shù)傳給我們的V層。

最后到我們的Activity中,繼承View接口,實現(xiàn)View的方法。我們還需要調(diào)用P層的方法才可以 。

這是View層的實現(xiàn)類。重寫了V層的方法。

這樣一個簡單的Demo就實現(xiàn)了。

總結(jié)

以上是生活随笔為你收集整理的android mvp简书,Android_MVP学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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