打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Android开源框架AsyncHttpClient (android

android-async-http 开源框架可以使我们轻松地获取网络数据或者向服务器发送数据,最关键的是,它是异步框架,在底层使用线程池处理并发请求,效率很高,使用又特别简单。

以往我们在安卓上做项目,比如要下载很多图片、网页或者其他的资源,多数开发者会选择一个线程一个下载任务这种模型,因为安卓自带的 AndroidHttpClient 或者 java 带的 java.net.URL ,默认都是阻塞式操作。这种模型效率不高,对并发要求高的 APP 来讲,并不适用。有的人会选择使用 nio 自己实现,代码复杂度又很高。

AsyncHttpClient 作为 android-async-http 框架的一个核心应用类,使用简单,可以处理文本、二进制等各种格式的 web 资源。下面提供一些代码来看如何使用:

public class Downloader {    public static AsyncHttpClient mHttpc = new AsyncHttpClient();    public static String TAG = "Downloader";        public void downloadText(String uri){        mHttpc.get(uri, null, new AsyncHttpResponseHandler(){            @Override            public void onSuccess(String data){                Log.i(TAG, "downloaded, thread id " + Thread.currentThread().getId());                // TODO: do something on            }            @Override            public void onFailure(Throwable e, String data){                Log.i(TAG, "download failed.");                // TODO: error proceed            }        });    }        public void downloadImage(String uri, String savePath){        mHttpc.get(uri, new ImageResponseHandler(savePath));    }        public class ImageResponseHandler extends BinaryHttpResponseHandler{        private String mSavePath;    	        public ImageResponseHandler(String savePath){            super();            mSavePath = savePath;        }        @Override        public void onSuccess(byte[] data){            Log.i(TAG, "download image, file length " + data.length);            // TODO: save image , do something on image        }        @Override        public void onFailure(Throwable e, String data){            Log.i(TAG, "download failed");            // TODO : error proceed        }    }};

上面的代码演示了如何使用 AsyncHttpResponseHandler 和 BinaryHttpResponseHandler ,相信 AsyncHttpClient 会给大家带来很大的便利。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
AsyncHttpClient 开源框架學習研究
使用Vitamio打造自己的Android万能播放器(7)
SharedPreferences 存储复杂的对象
Android 打开 GPS 导航并获取位置信息 - 创世软件团队 - 博客园
获得Android系统所有已安装的应用并联网自动检测升级更新
android中进行https连接的方式
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服