OKHttp学习笔记

这篇博客记录了学习OKHttp的过程,分享了一个经过封装的工具类,包含异步GET请求的四种不同返回类型:JsonString、JsonObject、byte数组和Bitmap。提供了使用示例,但高级功能未涉及。
摘要由CSDN通过智能技术生成

学习了下老罗的OKHttp 参考泡网和hongyang的okhttp
贴出封装的工具类,测试通过,童鞋们拿去用吧!

使用方法

private OKManager manager;
manager=OKManager.getInstance();
manager.

异步get请求:
1.指定返回JsonString
manager.asyncJsonStringByUrl(json_path, new OKManager.Func1() {
@Override
public void onResponse(String result) {
Log.d(TAG,”>>>::”+result);
}
});

2.指定返回JsonObject
manager.asyncJsonObjectByUrl(json_path, new OKManager.Func4() {
@Override
public void onResponse(JSONObject jsonObject) {
Log.d(TAG,”>>>::”+jsonObject.toString());

                }
            });

3.指定返回byte []
manager.asyncBytesByUrl(image_path, new OKManager.Func2() {
@Override
public void onResponse(byte[] result) {

                }
            });

4.返回的结果是bitmap
manager.asyncBitmapByUrl(image_path, new OKManager.Func3() {
@Override
public void onResponse(Bitmap bitmap) {
imageView.setImageBitmap(bitmap);
}
});


post
1.表单提交
Map<String,String> map=new HashMap<String, String>();
                map.put("search","Jurassic Park");

                manager.sendComplexForm("https://en.wikipedia.org/w/index.php", map, new OKManager.Func1() {
                    @Override
                    public void onResponse(String result) {
                        Log.d(TAG,">>>::"+result);
                    }
                });


2.提交String

String postBody = ""
                        + "Releases\n"
                        + "--------\n"
                        + "\n"
                        + " * _1.0_ May 6, 2013\n"
                        + " * _1.1_ June 15, 2013\n"
                        + " * _1.2_ August 11, 2013\n";
                manager.postAsyncString("https://api.github.com/markdown/raw", postBody, new OKManager.Func1() {
                    @Override
                    public void onResponse(String result) {
                        Log.d(TAG,">>>::"+result);
                    }
                });




封装类代码
public class OKManager {
   

    private OkHttpClient client;
    private  volatile static OKManager manager;
    private  final  String TAG=OKManager.class.getSimpleName();
    private Handler handler;

    //提交JSON数据
    private static final MediaType JSON=MediaType.parse("application/json;charset=utf-8");
    //提交字符串
    private static final MediaType MEDIA_TYPE_MARKDOWN=MediaType.parse("text/x-markdown;charset=utf-8");

    private</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值