Android Mvp-Rxjava-Retrofit最佳實踐

有考慮用封裝好的mvp框架,但是考慮到擴展性,還是自己寫的好改。

那就自己來吧。

mvp和mvc最大的不同在于解耦。

mvc里,一個activity上千行,而且代碼的邏輯和UI操作都混在一起。

代碼的可維護性很差。


而mvp,activity里只做UI相關操作,通過實現(xiàn)的接口來確定執(zhí)行那些UI操作。

Presenter專門用來做網絡請求。 ? ?只要方法注釋寫好,結構會更加清晰。

而且更利于做單元測試。。雖然沒怎么做過。。

考慮到性能問題,我沒有再基類里創(chuàng)建context,如果presenter需要context,那么子類重寫構造方法,傳遞一個進來即可。


IBaseView里做顯示隱藏加載框的方法。

子類再做對應業(yè)務的view處理。

還創(chuàng)建了一個只請求一次的view的接口繼承自IBaseView,這樣有些簡單的頁面,不用創(chuàng)建view接口。

好啦上代碼






用來做網絡請求錯誤處理的基類。


convertfactory改一下,可以直接生成bean對象。

之所以我這里生成String,是為了處理的時候更加靈活。


順帶提一句,okhttp的log工具真是太好用了。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容