MVP模式在Android中的应用(附UML高清大图,使用RecyclerView举例)
生活随笔
收集整理的這篇文章主要介紹了
MVP模式在Android中的应用(附UML高清大图,使用RecyclerView举例)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
傳了一張圖,圖比較大,請移步下載:http://download.csdn.net/detail/u011064099/9266245
在看代碼之前,首先簡單看一下什么是MVP模式:http://www.cnblogs.com/end/archive/2011/06/02/2068512.html
MVP最核心就是將界面與數據徹底分離,并且由其中的P來進行邏輯處理,與界面與數據之間的調用,在這個例子當中很好的對他們進行了分離:
IView只是用來控制界面的顯示與事件的監聽
Presenter則用作于數據與界面之間的調用與邏輯處理
AbstData為數據的統一接口
這三個類都繼承IConnect,以方便它們之間進行通訊。
具體的實現都是由Presenter的子類來進行操作的,比如ShowNetPresenter它組裝了具體的細節,供IView的實現類ActivityA來進行使用。
我們可以在Activity中寫入一個靜態方法,以便傳入我們要具體使用的Presenter的實現類:
/*** 我們的入口** @param context* @param c Presenter具體的實現類*/public static void startInstance(Context context, Class c) {Intent intent = new Intent(context, MVPActivity.class);intent.putExtra(KEY, c);context.startActivity(intent);}就像這樣: MVPActivity.startInstance(context, PresenterImpl.class);在它的內部,對傳入的類進行實例化: Class<?> c = (Class<?>) getIntent().getSerializableExtra(KEY); Constructor<?> constructor = c.getConstructor(IView.class); Object o = constructor.newInstance(this); if (o instanceof Presenter)mPresenter = (Presenter) o;于是,IView的實現類便于Presenter的實現類產生了交互,它們之間便可進行通訊。
更多詳情請參見項目源碼:
項目地址:?http://git.oschina.net/sahadev/MVP-for-android-
在該項目中,因為有些倉促,所以某些設計可能沒有完全遵從設計原則,請在使用的時候適當修改。
總結
以上是生活随笔為你收集整理的MVP模式在Android中的应用(附UML高清大图,使用RecyclerView举例)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 每日优鲜小程序基础组件介绍
- 下一篇: Android官方开发文档Trainin