Retrofit入门

想我一年之前每天都在使用Retrofit,一年之后每天都在使用落后的Volley。

因为平时开发中经常发现demo需要进行网络请求,现场编写一个网络请求的库有点手忙脚乱,所以的话干脆写一篇博客记录下来,以后demo再需要网络请求直接拷贝即可

我之前写过一篇Retrofit的一些注解

Retrofit中的RestApiService

不过最好的文章永远是官方文档

Retrofit官方文档

下面开始愉快的开发:

1 引入两个库

implementation ‘com.squareup.retrofit2:retrofit:2.4.0’
implementation ‘com.squareup.retrofit2:converter-gson:2.0.2’

2 新建一个接口类,用于定义请求的url和返回参数

public interface IService {
    @GET("app/update")
    Call getUpdateInfo();
}

3 新建一个构造器类,用于生成对应的接口

public class NetUtils {
    public static final String BASE_URL = "https://api.dushu.io/";

    public static IService getService(){
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();
        return retrofit.create(IService.class);
    }
}

4 具体使用

  Call call = NetUtils.getService().getUpdateInfo();
        call.enqueue(new Callback() {
            @Override
            public void onResponse(Call call, Response response) {
                UpdateBean bean = response.body();
                Toast.makeText(MainActivity.this,bean.apkUrl,Toast.LENGTH_LONG).show();
            }

            @Override
            public void onFailure(Call call, Throwable t) {
                Toast.makeText(MainActivity.this,t.getMessage(),Toast.LENGTH_LONG).show();
                Log.d("TAG", "onFailure: "+t.getMessage());
            }
        });

你可能感兴趣的:(ThirdMavenUse)