参考: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) 中所传的参数)