retrofit联网请求的使用

1.倒入依赖
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
2.写一个接口定义Get和Post
public interface BaseService {
    @GET
    retrofit2.Call<ResponseBody> get(@Url String url, @QueryMap Map<String,String> map);

    @POST
    retrofit2.Call<ResponseBody> post(@Url String url, @QueryMap Map<String,String> map);

}
3.写联网请求
public class HttpUntils {
    private BaseService service;
    //callBack方法
    private Callback<ResponseBody> callBack=new Callback<ResponseBody>() {
        @Override
        public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
            //成功的方法
            if (response.isSuccessful()&&response.code()==200){
                try {
                    //解析数据
                    String data = response.body().string();
                    lister.success(data);
                } catch (IOException e) {
                    e.printStackTrace();
                }

            //失败的方法
            }else {
                lister.fail(response.message());
            }
        }

        @Override
        public void onFailure(Call<ResponseBody> call, Throwable t) {
            lister.fail(t.getMessage());
        }
    };

    public HttpUntils(){

        //初始化Retrofit
        Retrofit mRetrofit = new Retrofit
                .Builder()
                .baseUrl("http://www.zhaoapi.cn/")
                .build();
        service = mRetrofit.create(BaseService.class);
    }
    //get请求
    public void get(String url, Map<String,String> map){
        service.get(url,map).enqueue(callBack);
    }

    //post请求
    public void post(String url, Map<String,String> map){
        service.get(url,map).enqueue(callBack);
    }



    //传递接口
    private HttpLister lister;
    public void result(HttpLister lister){
        this.lister=lister;
    }
    public interface HttpLister{
        void success(String data);
        void fail(String error);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值