Retrofit+MVP框架封装记录篇
2018-01-09 10:10
155 查看
当下最流行的网络请求组合,retrofit2+okhttp+rxjava+mvp
View Code
这个没啥好说的了
封装好了添加东西也就方便许多了,前面的工作不就是为了后期的迭代方便吗
比如添加一个dialog加载框,首先先添加两个回调方法
然后统一在observer里调用接口方法
只需要在presenter层的回调的统一调用就行了,在view层完全不用理会,而且逻辑的控制也能很好的添加,然后在view层实现方法,在方法里去调用dialog的show方法
至于这里的dialog是自己自定义了一个简单的progress控件,然后在base里面去操作的,这样在view加载的时候直接调用方法就行了,这里是和空页面一起操作的,空页面有专门写,在上一篇
效果如下图
GitHub:https://github.com/1024477951/FragmentApp
package com.fragmentapp.http; import android.os.Looper; import android.util.Log; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; /** * Created by liuzhen on 2017/11/3. */ public abstract class BaseObserver<T extends BaseResponses> implements Observer<T> { String TAG = getClass().getSimpleName(); @Override public void onSubscribe(Disposable d) { Log.e(TAG, "onSubscribe"); } @Override public void onNext(T t) { Log.e(TAG, "onNext"+t); if (t.getStatus() == 200) { onNextResponse(t); } else { Log.e(TAG, "ErrorStatus:" + t.getStatus() + "ErrorInfo" + t.getInfo()); onErrorResponse(t); } } @Override public void onError(Throwable e) { Log.e(TAG, "onError" + e.toString()); onNetWorkError("onError 网络超时,请重新尝试--"+e.getMessage()); if (Looper.myLooper() == null) { Looper.prepare(); Log.e(TAG,"onError 网络超时,请重新尝试"); Looper.loop(); } } @Override public void onComplete() { Log.e(TAG, "onComplete"); } /**返回成功*/ public abstract void onNextResponse(T t); /**接口失败信息*/ public abstract void onErrorResponse(T t); /**网络错误*/ public abstract void onNetWorkError(String val); }
View Code
这个没啥好说的了
封装好了添加东西也就方便许多了,前面的工作不就是为了后期的迭代方便吗
比如添加一个dialog加载框,首先先添加两个回调方法
然后统一在observer里调用接口方法
只需要在presenter层的回调的统一调用就行了,在view层完全不用理会,而且逻辑的控制也能很好的添加,然后在view层实现方法,在方法里去调用dialog的show方法
至于这里的dialog是自己自定义了一个简单的progress控件,然后在base里面去操作的,这样在view加载的时候直接调用方法就行了,这里是和空页面一起操作的,空页面有专门写,在上一篇
效果如下图
GitHub:https://github.com/1024477951/FragmentApp
相关文章推荐
- Android 基于 MVP 框架的下拉刷新、上拉加载页面,View和Presenter层基类封装
- RxAndroid+Retrofit+GreenDao+MVP框架---通用基类封装(二)
- Retrofit源码分析以及MVP框架封装使用
- 搭建MVP框架要点记录
- RxAndroid+Retrofit+GreenDao+MVP框架---通用基类封装(三)
- Retrofit+okHttp3一步一步封装MVP
- Base封装之MVP框架
- iOS记录App、封装播放器、核心动画、加载框架、分段器、多种控件等源码
- 安卓项目快速开发框架, MVP + Retrofit + RxJava,Activity 和 Fragment 结合 MVP 模式的完整封装,大大减少代码量
- android的技术分解以及Retrofit源码分析以及MVP框架封装使用
- 搭建自己的框架之2:MVP+Rxjava2,封装自己的mvp框架
- 单列模式,RecyclerView适配器封装,BroadcastReceiver介绍,Mvp+Retrofit+rxjava+okhttp框架的梳理总结
- iOS记录App、封装播放器、核心动画、加载框架、分段器、多种控件等源码
- RxAndroid+Retrofit+GreenDao+MVP框架---通用基类封装(一)
- 从零开始搭建一个完善的MVP开发框架(四) —对View(Activity,Fragment等)层组件进行封装简化View层的开发
- Retrofit源码分析以及MVP框架封装使用
- 第二篇、MVP框架完成
- laravel框架中封装公共方法全局调用
- 常用前端框架:mvc mvp mvvm
- 【知识必备】RxJava+Retrofit二次封装最佳结合体验,打造懒人封装框架~