Android开发经验谈Android开发

Retrofit2.0 使用教程——MVP查快递

2019-12-06  本文已影响0人  YoungerHu

使用准备

建立数据模型

我们这里使用的是Gson解析,需要事先和接口约定好对应的json样式,然后在本地写好对应的数据模型。这里以快递100的返回数据为例,可以构造如下模型:

public class ExpressBean {
    public String message;
    public String nu;
    public String ischeck;
    public String com;
    public String status;
    public String condition;
    public String state;
    public List<DataBean> data;
    public static class DataBean {
        public String time;
        public String context;
        public String ftime;
    }
}

在构建本地数据模型时,我推荐一个好用的插件,可以一键转化json数据为java类:

GsonFormat

网络接口设置

retrofit的请求是通过接口加注解的形式来实现的,这里我写了个查询圆通快递的简单例子:

public interface ExpressQuestionService {
    @GET("query?type=yuantong")
    Call<ExpressBean> queryExpress(@Query("postid") String expressCode);
}

这个方法在调用后,会拼接postid到请求的后面,组成query?type=yuantong&postid=expressCode;

搭建mvp接口

MVP的第一步就是写接口,接口书写的过程也就是流程梳理的过程,当接口书写完后,只需要依次填补各个实现类就完成了,我们这个小需求很简单,所以接口也不复杂。

这里我把三个 接口放到一起,方便调整。

public interface ExpressQueryContract {
    interface View {
        /**
         * 绑定返回数据到页面
         */
        void bindView(ExpressBean bean);

        /**
         * 显示提示信息
         */
        void showToast(String message);
    }

    interface Presenter {
        /**
         * 处理查询逻辑
         */
        void queryExpress(String expressCode);
    }

    interface Model {
        /**
         * 调用接口查询信息
         */
        void queryExpress(String expressCode, Callback<ExpressBean> callback);
    }
}

实现MVP接口

接口定义好了,接下来依次写各个接口的实现类就好了

在这里插入图片描述

可能遇到的问题

总结

好了,结束。

上一篇 下一篇

猜你喜欢

热点阅读