MVP框架模板,方便快速项目开发
2018-02-06 16:14
543 查看
MVP 框架
手动编写一个MVP框架,方便快速开发项目,以下是部分简介视图层V到P层是通过Action接口控制
public interface LoginAction { void login(String username, String passwd); }
P层到视图层V是通过Done接口控制反馈的
public interface LoginDone extends CommonView { void loginDone(String message); }
视图层任务
自身视图的渲染和绘制实现Done接口,并将此接口传递给P层
public class LoginActivity extends BaseActivity implements LoginDone { LoginAction presenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //传递Done接口 presenter = new LoginPresenter(this); } public void clickeme(View view){ presenter.login("13883976960", "2348y72384"); } //实现Done接口的方法,最终P层会回调此方法 @Override public void loginDone(String message) { ToastHelper.showMsg(message, this); } }
P层逻辑层任务
完成大量的网络等耗时复杂操作,完成后通过Done接口返回回去本框架在此处借助Rxjava统一处理异常、网络进度显示工具,快捷使用
public class LoginPresenter extends AbstractPresenter implements LoginAction { protected LoginDone caller; public LoginPresenter(LoginDone view) { caller = view; } @Override public void login(String username, String passwd) { LoginRequest request = new LoginRequest(username, passwd); Disposable disposable = apis.login(request) .subscribeOn(Schedulers.io()) .compose(RxTransformHelper.<LoginResponse>ioMainProgress(caller, R.string.loding, false)) //进度显示 .observeOn(AndroidSchedulers.mainThread()) .compose(RxTransformHelper.<LoginResponse>ioMainException(caller)) //异常处理 .subscribe(new Consumer<LoginResponse>() { @Override public void accept(LoginResponse loginResponse) throws Exception { caller.loginDone(loginResponse.getMessage()); } }); disposableRaiser.add(disposable); } }
异常处理是对okhttp的进出口进行控制,对其数据解析,转换为json格式,根据其状态码抛出对应的exception,最后在上面代码的ioMainException进行捕获处理,具体代码见项目
项目源码
刚开始写,可能有很多不恰当的地方,还请不吝赐教
相关文章推荐
- 安卓项目快速开发框架, MVP + Retrofit + RxJava,Activity 和 Fragment 结合 MVP 模式的完整封装,大大减少代码量
- springboot快速开发框架(脚手架)-iris后台管理项目
- android mvp快速开发框架介绍(dileber使用之小工具使用)
- java 快速开发后台框架平台 项目编程源码 SSM springmvc mybatis
- Android开发truck快速开发框架MVP实现(二)
- MVP模式开发之项目框架的搭建
- Android项目快速开发框架探索(Mysql + OrmLite + Hessian + Sqlite)
- Android 项目框架 使用MVP开发
- 使用NSun(框架)快速开发项目(七)NSun实体生成器发布
- java快速开发平台 二次开发 外包项目利器 springmvc SSM后台框架源码
- JScript 快速开发框架 Edk:模板
- java快速开发平台 二次开发 外包项目利器 springmvc SS-M后台框架源码 (转载)
- 使用NSun(框架)快速开发项目
- Winform开发框架之图表报表在线设计器-报表-SNF.EasyQuery项目--SNF快速开发平台3.3-+Spring.Net.Framework
- ios项目常用模板框架之UITabBar+Nav 分类: ios开发 2015-04-06 20:34 350人阅读 评论(0) 收藏
- 使用NSun(框架)快速开发项目(二)主流.net ORM框架性能评测
- MVP快速开发框架
- 如何利用NB代码生成工具和NBear框架,快速开发WEB项目