Retrofit2.0初识

参考:https://blog.csdn.net/carson_ho/article/details/73732076

依赖:

    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
    implementation 'com.squareup.okhttp3:okhttp:3.10.0'
网络权限:
<uses-permission android:name="android.permission.INTERNET"/>
RetrofiInterface:
public interface RetrofiInterface {
    @GET
    Call<JavaBean> getCall(@Url  String url);
}
// @GET注解的作用:采用Get方法发送网络请求    
// getCall() = 接收网络请求数据的方法     
// 其中返回类型为Call<*>,*是接收数据的类(即上面定义的JavaBean类)
// 如果想直接获得Responsebody中的内容,可以定义网络请求返回值为Call<ResponseBody>
Retrofit2.0还有很多注解:
请求:
       Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("http://www.93.gov.cn/") //设置网络请求的Url地址
                .addConverterFactory(GsonConverterFactory.create()) //设置数据解析器
                .build();
        RetrofiInterface retrofiInterface = retrofit.create(RetrofiInterface.class);
        Call<JavaBean> call = retrofiInterface.getCall(url);
        call.enqueue(new Callback<JavaBean>() {
            //请求成功
            @Override
            public void onResponse(Call<JavaBean> call, Response<JavaBean> response) {

            }
            //请求失败
            @Override
            public void onFailure(Call<JavaBean> call, Throwable t) {

            }
        });

拼接后的具体请求路径为:http://www.93.gov.cn/(retrofiInterface.getCall(url)   中所传的参数)


猜你喜欢

转载自blog.csdn.net/qq_41673194/article/details/80321800