AI智能
改变未来

Android Retrofit2+rxjava2+Mvp基于okhttp3网络请求框架的使用 二 请求数据(登录为例)


我们在写项目的时候必不可少的会用到网络请求服务器,现Retrofit2+rxjava2+Mvp的框架组合已经成为了主流网络请求框架,我使用这个框架两年多了 以下分享下开发心得和使用方法

Retrofit2+rxjava2+Mvp基于okhttp3网络请求框架的使用 一 框架配置

Retrofit2+rxjava2+Mvp基于okhttp3网络请求框架的使用 二 请求数据

Retrofit2+rxjava2+Mvp基于okhttp3网络请求框架的使用 三 文件上传(支持多文件上传)

Retrofit2+rxjava2+Mvp基于okhttp3网络请求框架的使用 四 下载文件

我们今天以登录验证接口为例 实现请求传参返回数据

1,创建User实体,添加返回实体对象
2,创建请求回调接口
3,初始化 调用

第一步 创建User实体,添加返回实体对象

public class User implements Serializable {private String userId ;/*** 用户名*/private String username;public User() {}public User(String userId, String username) {this.userId = userId;this.username = username;}public String getUsername() {return this.username;}public void setUsername(String username) {this.username = username;}public String getUserId() {return this.userId;}public void setUserId(String userId) {this.userId = userId;}}

第二步创建请求回调接口

interface ICCheck {interface IPCheck {fun check(userName: String, password: String)}interface IVCheck : BaseView {fun checkResult(boolean: Boolean)}}
class CheckPresenter : BasePresenter, ICCheck.IPCheck {private val mProvider: LifecycleProvider<ActivityEvent>private val mView: ICCheck.IVCheckconstructor(mProvider: LifecycleProvider<ActivityEvent>, mView: ICCheck.IVCheck) : super() {this.mProvider = mProviderthis.mView = mView}override fun check(userName: String,password: String) {RetrofitHelper.getApi().loginApp(userName, password).map {return@map it}.compose(RxUtils.rxSchedulerHelper()).compose(mProvider.bindToLifecycle()).subscribe({if (it.code == Utils.SUCCESS) {mView.checkResult(true)} elsemView.showError(it.msg)}, {mView.showError(\"${it.message}\")})}}

第三步初始化 调用

class LoginActivity : BaseActivity(), ICCheck.IVCheck{override fun initView() {val checkPresenter = CheckPresenter(this, this)//初始化checkPresenter.check( \"小明\",  \"123456\" )//请求接口调用}override fun checkResult(boolean: Boolean) {//返回结果是否成功}override fun showError(msg: String) {//返回异常ToastUtils.showShort(msg)}}

以上我们可以发现 当我们配置好工具类之后 我们在MVP模式下 实际的activity的代码量很少 简洁明了 易于维护 好的,关于请求数据我们就写到这里 有不好的的地方或者有问题的还请小伙伴多多留言指教

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Android Retrofit2+rxjava2+Mvp基于okhttp3网络请求框架的使用 二 请求数据(登录为例)