版权声明:我只是个小小程序员,为自己的成长代言 https://blog.csdn.net/oMoLin1/article/details/89159147
Android App网络通信Retrofit
1、新建一个RetrofitInstance类
public class RetrofitInstance{}
2、建立构造函数
public class RetrofitInstance{
private RetrofitInstance(){
//这里设置通信的过程
}
}
3、通信的过程设置
设置静态变量baseURL,webURL,变量mHttpClientManager
public static String baseURL ="";//后端网址和端口
public static String webURL = “”;//web端项目存放地址
public HttpClientManager mHttpClientManager = null;//管理通信的控制中心
设置流程:建立一个OKHttpClient客户端,启用Retrofit,创建控制器,实例化RetrofitInstance实例
private static final OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(10, TimeUnit.SECONDS)
.readTimeout(60, TimeUnit.SECONDS)
.writeTimeout(60, TimeUnit.SECONDS).build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(baseURL)
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build();
mHttpClientManager = rotrofit.create(HttpClientManager.class)
public static RetrofitInstance getInstance(){
return new RetrofitInstance();}
4、其中控制中心的是一个接口,所有访问的接口都集中在这里
如:/用户登录接口/
@POST("login")
Call<ResponseBody> login(@QueryMap Map<String,String> params);
5、详细的过程:
public class RetrofitInstance {
public static String baseURL = "http://127.0.0:8080/";
public static String webURL = "http://111.11.1.1:8080/Employee-web";
public HttpClientManager mHttpClientManager = null;
private static final OkHttpClient client = new OkHttpClient.Builder().
connectTimeout(10, TimeUnit.SECONDS).
readTimeout(60, TimeUnit.SECONDS).
writeTimeout(60, TimeUnit.SECONDS).build();
private RetrofitInstance(){
mHttpClientManager = null;
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(baseURL)
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build();
mHttpClientManager = retrofit.create(HttpClientManager.class);
}
public static RetrofitInstance getInstance(){
return new RetrofitInstance();
}
}