public class HttpsManager {
private volatile static HttpsManager manager = null;
public interface HttpListener {
void requestFinish(String reponse);
void requestError(Exception e);
}
public static HttpsManager getInstance() {
if (manager == null) {
synchronized (HttpsManager.class) {
if (manager == null) {
manager = new HttpsManager();
}
}
}
return manager;
}
public void getMethod(String url, final HttpListener mListener) {
Request request = new Request.Builder().url(url).build();
OkHttpClient okHttpClient = new OkHttpClient();
Call call = okHttpClient.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
mListener.requestError(e);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
mListener.requestFinish(response.body().string());
}
});
}
public void postMethod(String url, RequestBody body, final HttpListener mListener) {
Request request = new Request.Builder().url(url).post(body).build();
OkHttpClient okHttpClient = new OkHttpClient();
Call call = okHttpClient.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
mListener.requestError(e);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
mListener.requestFinish(response.body().string());
}
});
}
}
在Activity 里简单实用
public class HttpActivity {
String userLogin = "http://101.200.193.60:9098/api/BaseInfo/UserLogin?UserName=nxdjn&Pwd=123456";
HttpsManager.getInstance().getMethod(userLogin, new HttpsManager.HttpListener() {
@Override
public void requestFinish(String response) {
Log.e(TAG, "请求结果" + response);
try {
ZPLogin mLogin = new Gson().fromJson(new JSONObject(response).getString("data"), new TypeToken<ZPLogin>(){}.getType());
Log.e(TAG, "用户 id" + mLogin.getUserID());
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void requestError(Exception e) {
}
});
}