android之MVP初體驗(yàn)(實(shí)用)

序言

MVP這個(gè)架構(gòu)已經(jīng)誕生好久了,為啥現(xiàn)在才用。因?yàn)榘?,?xiàng)目不需要?。∧愎ぷ骶投?。

什么?MVP是啥?

Android MVP模式 簡(jiǎn)單易懂的介紹方式

樓上鏈接出門直走,不謝!

一、butterknife

1.1 MVP繁瑣嗎,其實(shí)很簡(jiǎn)單

這個(gè)可以自動(dòng)生成MVP三部分的接口哦,神不神奇?


圖一 文件目錄圖

LoginContract這個(gè)文件要自己寫,其實(shí)就是簡(jiǎn)單的接口定義


圖二 接口定義

劃線處右鍵Generate選MVP Helper,就生成圖一的model和presenter目錄了。

1.2 MVP Helper安裝


插件安裝

在AS的File里選Setting然后在Plugins里搜索MVPHelper就能找到了。

具體的gradle,你們可以下源碼看的。demo可以上傳git,跟公司無(wú)關(guān)[機(jī)智]!


二、接口實(shí)現(xiàn)

就是圖一那些接口的實(shí)現(xiàn),你愿意也可以打樁,我的話呢,寫了個(gè)手機(jī)短信第三方登錄的功能,不是裝X哦~

2.1 Presenter

肯定先介紹這個(gè)中間層,小時(shí)候語(yǔ)文課講過(guò),承上啟下關(guān)鍵嘛。

這個(gè)模塊處理所有邏輯部分,通過(guò)調(diào)用viewer層提供的接口呈現(xiàn)給用戶,例如,發(fā)送驗(yàn)證碼。


構(gòu)造及初始化

你看,構(gòu)造時(shí),已經(jīng)獲取到view了,并跟model對(duì)象產(chǎn)生了聯(lián)系。

接下來(lái),獲取view提供的電話號(hào)碼通過(guò)model申請(qǐng)短信驗(yàn)證碼再反饋給activity結(jié)果即可。


獲取手機(jī)號(hào)和請(qǐng)求驗(yàn)證碼


返回結(jié)果給activity

其他的都是邏輯代碼,你們可以看,不喜可噴,但要給紅包,一個(gè)字一元。哈哈哈!大過(guò)年的嘛~~


2.2 model

這個(gè)超級(jí)簡(jiǎn)單,因?yàn)榉雷o(hù)啥的復(fù)雜邏輯都在presenter了,就是網(wǎng)絡(luò)請(qǐng)求部分,直接掉sdk接口,連這個(gè)錯(cuò)誤處理都省了。

sdk相關(guān)封裝

真沒(méi)啥說(shuō)的,聊十塊錢都聊不了。

2.3 view即activity

LoginContract.View實(shí)現(xiàn)這些接口即可

這里沒(méi)啥意思,突然想說(shuō)下bindview,畢竟我是一名佛系程序員嘛~


贈(zèng)品

贈(zèng)一、bindview

朋友,你是否還為繁瑣的實(shí)現(xiàn)findViewById而嘔吐不已,這里有個(gè)神器,只要自己寫好layout,右鍵,自動(dòng)就會(huì)幫你寫好這些了哦,就是這么神奇,好像剛才也很神奇,好吧,老規(guī)矩,裝上就好,有沒(méi)有效誰(shuí)用誰(shuí)知道。


butterknife安裝路徑

使用的話,在activity上的layout上直接右鍵generate選Generate Butterknife Injections。然后Duang的一下就完成所有代碼了。



贈(zèng)二、免費(fèi)的短信登錄

感謝Mob官網(wǎng)提供免費(fèi)的短信登錄,作為窮人家的孩子,沒(méi)有什么比免費(fèi)更實(shí)用了的吧。


sdk文件及目錄

去官網(wǎng)下載后按照說(shuō)明安裝即可,別忘了在gradle上加入。注意下面兩點(diǎn),應(yīng)該沒(méi)有問(wèn)題




尾聲

其實(shí)啊,寫代碼哪有那么復(fù)雜,程序員哪有那么神秘,就像人人都是產(chǎn)品經(jīng)理一樣,其實(shí)人人都是程序員,莫名感覺(jué)到了失業(yè)危機(jī)。

源碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容