之前看了很多關於mvp模式的簡介,很多時候都是看完之後有很多疑惑,再或者是過幾天就忘記了。今天突然有想起來了,然後又看了看定義,接著參照了一些demo,自己完整的將**重新寫了一邊,使得印象更加深刻一點。
這個是我根據網上的一些demo(基本**都是參照的一位大神的),然後根據自己的理解做出的demo(跟網上很多都是大同小異),希望在以後的專案開發中能夠用的上。
這裡介面也是乙個登陸介面
這是我的**分類
按照我自己的理解,首先我們需要定義出資料模型 loginbean
,這裡面主要是定義了一些我們介面所需的資料
public
class loginbean
public
void
setusername(string username)
public string getpassword()
public
void
setpassword(string password)
private string username;
private string password;
}
接下來我們需要定義我們登陸時的操作方法及需要呼叫的引數及監聽介面
loginbeanmodle
public
inte***ce
loginbeanmodle
然後是登陸實體的實現**,裡面開啟了乙個執行緒(主要執行耗時操作)來傳送登陸請求。
loginmodeimple
public
class
loginmodeimple
implements
loginbeanmodle catch (exception e)
if ("username".equals(username) && "password".equals(password)) else
}}.start();}}
接下來,定義乙個控制器,來對登陸操作之後的結果進行處理
loginpresenter
public
class
loginpresenter
public
void
login()
});}
@override
public
void
onfailed()
});}
});}
}
在介面顯示上,我們還需要定義乙個操作介面的介面
loginview
public
inte***ce loginview
最後,是我們在activity中的實現
public
class
mainactivity
extends
activity
implements
loginview, view.onclicklistener
private
void
init()
@override
public string getusername()
@override
public string getpassword()
@override
public
void
userlogin(loginbean loginbean)
@override
public
void
showfailerror()
@override
public
void
showloading()
@override
public
void
hideloading()
@override
public
void
onclick(view view) }}
寫這篇部落格的目的只是為了加深自己對mvp模式的理解,因為看再多的**,看再多的定義還不如自己手動敲**來時記憶的更加深刻,理解的 更加透測。
利用mvp模式來設計專案架構,雖然**量增加了很多,但是確實是view裡面的**變的更加精簡了,對以後的**維護肯定也會很方便。
我理解的 Android MVP 模式
之前一直使用 mvc 模式開發 android 應用,而 mvp 模式也出現了好久,可能之前還是太菜了吧,看網上部落格,google 官方的例子,總是不懂,不過最近又開始看,多少有了些理解,寫出來與大家分享一下。一開始的 mvc 模式,activity 其實承擔了 v 和 c 的職責。負責 view...
Android MVP模式 簡單易懂的介紹方式
android mvp 模式1 也不是什麼新鮮的東西了,我在自己的專案裡也普遍地使用了這個設計模式。當專案越來越龐大 複雜,參與的研發人員越來越多的時候,mvp 模式的優勢就充分顯示出來了。public class loginactivity extends actionbaractivity im...
淺言架構 Android MVP
mvp 在 android 上的使用其實已經流行了有挺長的一段時間,包括我們公司,經過我們android端小夥伴們的思考與才華 我們的產品也是採取的mvp模式。今天主要是想分享一下,本人對mvp的淺見,以及如何使用mvp模式搭建乙個專案框架。說明 由於本人能力和時間有限,所以本文只是拋磚引玉,疏漏之...