@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
onSuccess(new String(responseBody));
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
onFailure(error);
}
public abstract void onSuccess(String response);
public abstract void onFailure(Throwable error);
}
请求类
package com.android.design.http;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.RequestParams;
import java.util.Map;
/**
-
@author:admin
-
@date:2020/12/24
-
@desc:
*/
public class AsyncHttpManager {
private static volatile AsyncHttpManager instance = null;
private AsyncHttpClient httpClient;
public AsyncHttpManager() {
if(httpClient == null){
init();
}
}
public static AsyncHttpManager getInstance() {
if (instance == null) {
synchronized (AsyncHttpManager.class) {
if (instance == null) {
instance = new AsyncHttpManager();
}
}
}
return instance;
}
/**
* 做一下全局初始化操作
*/
private void init() {
if (httpClient == null) {
httpClient = new AsyncHttpClient();
}
}
/**
* POST请求
*
* @param url 接口地址
* @param map 携带参数
* @param responseHandler 接口回调
*/
public void postHttp(String url, Map<String, String> map, HttpResponseHandler responseHandler) {
RequestParams params = new RequestParams();
for (String key : map.keySet()) {
params.add(key, map.get(key));
}
httpClient.post(url, params, responseHandler);
}
/**
* POST请求
*
* @param url 接口地址
* @param params 携带参数
* @param responseHandler 接口回调
*/
public void postHttp(String url, RequestParams params, HttpResponseHandler responseHandler) {
httpClient.post(url, params, responseHandler);
}
/**
* GET请求
*
* @param url 接口地址
* @param responseHandler
*/
public void getHttp(String url, HttpResponseHandler responseHandler) {
httpClient.get(url,responseHandler);
}
/**
* GET请求
*
* @param url 接口地址
* @param params 携带参数
* @param responseHandler
*/
public void getHttp(String url, RequestParams params, HttpResponseHandler responseHandler) {
httpClient.get(url,params,responseHandler);
}
/**
* GET请求
*
* @param url 接口地址
* @param map 携带参数
* @param responseHandler
*/
public void getHttp(String url, Map<String, String> map, HttpResponseHandler responseHandler) {
RequestParams params = new RequestParams();
for (String key : map.keySet()) {
params.add(key, map.get(key));
}
httpClient.get(url,params,responseHandler);
}
}
调用方法
private void post() {
String url = "http://apis.juhe.cn/mobile/get?";
Map<String, String> map = new HashMap<>();
map.put("phone", "1853054555");
map.put("key", "72a24be15b8b58c599d4d2f994e26cdb");
AsyncHttpManager.getInstance().postHttp(url, map, new HttpResponseHandler() {
@Override
public void onSuccess(String response) {
Toast.makeText(MainActivity.this, response, Toast.LENGTH_SHORT).show();
Log.e("MainActivity", "POST请求成功:" + response);
}
@Override
public void onFailure(Throwable error) {
Toast.makeText(MainActivity.this, error.getMessage(), Toast.LENGTH_SHORT).show();
Log.e("MainActivity", "POST请求失败:" + error.toString());
}
});
}
private void get() {
String url = "http://apis.juhe.cn/mobile/get?phone=17513188444&dtype=json&key=72a24be15b8b58c599d4d2f994e26cdb";
AsyncHttpManager.getInstance().getHttp(url, new HttpResponseHandler() {
@Override
public void onSuccess(String response) {
Toast.makeText(MainActivity.this, response, 0).show();