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