Android AsyncHttpClient网络请求

@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();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值