安卓框架——Android-async-http使用

android-async-http开源项目可以是我们轻松的获取网络数据或者向服务器发送数据,使用起来非常简单。是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通过回调方法处理请求结果。

其主要特征如下:

处理异步Http请求,并通过匿名内部类处理回调结果。

Http请求均位于非UI线程,不会阻塞UI操作。

通过线程池处理并发请求。处理文件上传、下载

响应结果自动打包JSON格式。自动处理连接断开时请求重连。

使用步骤:

1.导包:把android-async-http-master\releases下面最新的jar包放到应用到libs下。

2.设置网络权限。

<uses-permissionandroid:name="android.permission.INTERNET"/>

3.创建异步客户端对象。

4.获取uri网络路径。

5.执行get/post请求

a)如果成功创建工厂对象。

b)工厂对象的decodeByteArray把字节转换成Bitmap对象。


AsyncHttpClientclient = newAsyncHttpClient();// 创建异步请求的客户端对象
        RequestParamsparams = new RequestParams();//创建请求参数的封装对象
        // 执行post方法
        client.post(url, params,newAsyncHttpResponseHandler() {
            /**
             * 成功处理的方法 statusCode:响应的状态码; headers:相应的头信息。比如响应的时间,响应的服务器 ;
             *responseBody:响应内容的字节
             */
            @Override
            public void onSuccess(int statusCode,Header[] headers,
                    byte[] responseBody) {
                if (statusCode ==200) {// 状态码为200时响应成功
                    Bitmap bitmap = BitmapFactory.decodeByteArray(responseBody,
                            0, responseBody.length);
                    imageView.setImageBitmap(bitmap);
                }
            }
 
            /**
             * 失败处理的方法 error:响应失败的错误信息封装到这个异常对象中
             */
            @Override
            public void onFailure(int statusCode,Header[] headers,
                    byte[] responseBody,Throwable error) {
                error.printStackTrace();//把错误信息打印出轨迹来
            }
    });


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少华年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值