MVP模式學習筆記

MVP的三層

  • View層: 對應於Activity/Fragment,負責View的繪製以及與用戶交互
  • Presenter層: 負責完成View與Model間的交互
  • Model層: 實體模型、與數據進行交互,對數據進行加工處理

第一步:定義兩個基類,這兩個接口分別是所有View和Presenter的基類: BaseView和BasePresenter。

  • BaseView中主要定義一些通用的界面方法,如顯示/隱藏進度條、顯示提示信息等。
  • BasePresenter中也可以定義一些通用的方法,如初始化方法等。
public interface BaseView {
    //加載數據出錯是調用
    void showLoadFailureMsg(String errorMsg);
}

public interface BasePresenter {
        //可以什麼都不用寫
}

第二步:定義契約接口,使用契約接口是爲了更清晰,更直觀,一目瞭然。維護方便。

public interface NewsContract {

    //新聞View
    interface INewsView extends BaseView{
        //獲取得到網絡數據顯示在界面上 NewsEntity--實體類
        void showNewsDetail(NewsEntity newsEntity);
    }

    //新聞Presenter
    interface INewsPresenter extends BasePresenter{

        /**
         * 傳遞參數到Model去加載網絡數據
         * @param page 頁數
         * @param rows 每頁顯示的個數
         */
        void loadNewsList(int page,int rows);
    }
}

第三步:Presenter層
定義一個藉口繼承BasePresenter,寫一些你需要的接口,

Demo下載

發佈了33 篇原創文章 · 獲贊 7 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章