public
class RequestManager {
private RequestService mRequestService;
private
static
volatile RequestManager sInstance;
private RequestManager(Context context){
Cache cache =
new Cache(
new File(context.getExternalCacheDir(),
"test"),
100*
1024*
1024);
Log.e(
"Test",
"cache dir = " + context.getExternalCacheDir());
OkHttpClient client =
new OkHttpClient.Builder()
.retryOnConnectionFailure(
true)
.connectTimeout(
20, TimeUnit.SECONDS)
.cache(cache)
.build();
Retrofit retrofit =
new Retrofit.Builder()
.client(client)
.baseUrl(
"http://*.*.*.*/")
.addConverterFactory(GsonConverterFactory.create())
.build();
mRequestService = retrofit.create(RequestService.class);
}
public static RequestManager getInstance(){
if(sInstance ==
null){
synchronized (RequestManager.class){
if(sInstance ==
null){
sInstance =
new RequestManager();
}
}
}
return sInstance;
}
public void getData(){
Call<TestBean> call = mRequestService.getData();
call.enqueue(
new Callback<TestBean>() {
@Override
public void onResponse(Call<TestBean> call, Response<TestBean> response) {
Log.e(
"Test",
"onResponse = "+response.body().toString());
}
@Override
public void onFailure(Call<TestBean> call, Throwable t) {
}
});
try {
Response<TestBean> response = call.execute();
}
catch (IOException e) {
e.printStackTrace();
}
}
public
static
class TestBean{
public
int code;
public String message;
public String redirect;
public ArrayList<String> value;
@Override
public String toString() {
return
"code = "+code+
", message = "+message+
",redirect = "+ redirect+
", value="+value.toString();
}
}
}