android常见框架基本使用之-AsyncHttpClient
来源:互联网 发布:在mac显示隐藏文件 编辑:程序博客网 时间:2024/04/29 10:54
上篇提到Volley的使用,但在实际开发中,会发现android在UI线程以外进行ui操作是会报操作的,查阅资料发现,android解决该问题的方法是异步任务处理或多线程处理的方式
但用过的人都知道,两者都有冗余且较长的代码量,每一次网络请求图片需要开启新线程的话未免也太繁琐了,于是又发现了一个神器的框架AsyncHttpClient
老样子先上github地址:https://github.com/loopj/android-async-http/
1.AsyncHttpClient的特性
发送异步http请求,在匿名callback对象中处理response信息;
http请求发生在UI(主)线程之外的异步线程中;
内部采用线程池来处理并发请求;
通过RequestParams类构造GET/POST;
内置多部分文件上传,不需要第三方库支持;
文件很小;
内置多种形式的响应解析,有原生的字节流,string,json对象,甚至可以将response写到文件中;
永久的cookie保存,内部实现用的是Android的SharedPreferences;
通过BaseJsonHttpResponseHandler和各种json库集成;
支持SAX解析器;
支持各种语言和content编码,不仅仅是UTF-8;
2.基本使用之官方推荐封装
public class TwitterRestClient { private static final String BASE_URL = "http://api.twitter.com/1/"; private static AsyncHttpClient client = new AsyncHttpClient(); public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) { client.get(getAbsoluteUrl(url), params, responseHandler); } public static void post(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) { client.post(getAbsoluteUrl(url), params, responseHandler); } private static String getAbsoluteUrl(String relativeUrl) { return BASE_URL + relativeUrl; }}
RequestParams params = new RequestParams();params.put("username", "yanbober");params.put("password", "123456");params.put("email", "yanbobersky@email.com");
//支持文件,常见数据结构的参数上传,读者可自行查阅
4.JsonHttpResponseHandler的使用
client.post(url, params,new JsonHttpResponseHandler(){ @Override public void onSuccess(JSONObject jsonObject) { //获取的jsonObject可自行解析 } });
AsyncHttpRequest继承自Runnable,是基于线程的子类,用于异步请求类, 通过AsyncHttpResponseHandler回调。所以可在回调中直接进行UI操作,但长时
间的请求可能会出现一些错误
0 0
- android常见框架基本使用之-AsyncHttpClient
- android常见框架基本使用之-Volley
- Android开源框架之AsyncHttpClient
- Android-AsyncHttpClient网络框架
- Android开源框架AsyncHttpClient (android-async-http)使用
- Android开源框架AsyncHttpClient (android-async-http)使用
- Android开源框架--AsyncHttpClient (android-async-http)使用
- Android 使用开源框架AsyncHttpClient上传文件到服务器
- Android 使用开源框架AsyncHttpClient上传文件到服务器
- Android使用开源框架实现文件的上传 asyncHttpClient
- Android 之AsyncHttpClient
- 13 Android AsyncHttpClient 使用
- Android AsyncHttpclient 使用详解
- Android网络请求框架--AsyncHttpClient
- 使用AsyncHttpClient 框架提交数据
- Android AsyncHttpClient https使用教程
- AsyncHttpClient框架
- Android网络框架AsyncHttpClient的二次封装
- http://blog.csdn.net/duancanmeng/article/details/7444515
- 类模板、函数模板以及类成员函数在类外定义情况
- 浅谈PCA 人脸识别
- ofstream的使用方法--超级精细
- XENSERVER物理端口IP设置
- android常见框架基本使用之-AsyncHttpClient
- python之文件读取seek(),tell()函数
- JAVA集合容器--LinkedList
- 【POJ 1741】Tree (树上点分治)
- Bellmen-Ford算法的应用——杭电OJ 2544 最短路
- Git远程操作详解
- 图解Linux命令之--nl命令
- cocos2d - 纹理的选择
- PAT-B 1007.素数对猜想