异步基于回调的Http客户端为Android构建,是基于Apache HttpClient库的。所有的请求都是位于应用程序主线程 UI 之外,但任何回调逻辑将相同的线程上执行回调,使用Android的处理程序创建消息传递。
1.2 Features(特征)
-
Make asynchronous HTTP requests, handle responses in anonymous callbacks
-
进行异步HTTP请求,处理响应在匿名回调中完成
-
HTTP requests happen outside the UI thread
-
HTTP请求发生在UI线程之外
-
Requests use a threadpool to cap concurrent resource usage
-
请求使用threadpool,限制并发资源使用情况
-
GET/POST params builder (RequestParams)
-
GET / POST参数构建使用(RequestParams)
-
Multipart file uploads with no additional third party libraries
-
Multipart 文件上传,没有额外的第三方库
-
Tiny size overhead to your application, only 25kb for everything
-
在你的应用程序上利用很小的开销,仅仅25 kb就可以做一切
-
Automatic smart request retries optimized for spotty mobile connections
-
自动智能请求重试,优化了质量不一的移动连接
-
Automatic gzip response decoding support for super-fast requests
-
自动解码支持gzip反应速度超快的请求
-
Binary file (images etc) downloading with
BinaryHttpResponseHandler
-
二进制 文件(图片等)的下载,使用BinaryHttpResponseHandler
-
Built-in response parsing into JSON with
JsonHttpResponseHandler
-
内置响应解析成JSON,使用JsonHttpResponseHandler
-
Persistent cookie store, saves cookies into your app’s SharedPreferences
-
持久化cookie存储,保存cookie到你的应用程序的SharedPreferences
- Installation & Basic Usage( 安装和基本用法)
Download the latest .jar file from github and place it in your Android app’s libs/
folder.
从github上下载最新的最新的jar文件.并将其放置在你的Android应用程序的libs /文件夹.
2.1下载方式:
1.从[http:
资料获取→专栏
//loopj.com/android-async-http/](http://loopj.com/android-async-http/)的页面下载
点击DownLoad即可下载最新的jar文件
2.从https://github.com/loopj/android-async-http的页面下载
找到DownLoad ZIP进行下载文件,解压后的目录如下
examples:里面有简单的例子
library:里面存放的是android-async-http开源项目的源码(方法一:可以把library\src\main\java文件下面的文件拷贝到,你应用的src下也可以直接使用)
releases:里面存放的是各个版本的jar文件,(方法二:只需把最新的jar文件拷贝到你应用的libs目录下即可.)
samples:里面存放的也是例子(可供参考)
备注:方法一和方法二只能采用其中之一,建议采用方法二
2.2使用方法
Import the http package.
import com.loopj.android.http.*;
Create a new AsyncHttpClient
instance and make a request:
AsyncHttpClient client = new AsyncHttpClient();
client.get(“http://www.google.com”, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
System.out.println(response);
}
});
Adding GET/POST Parameters with RequestParams
The RequestParams
class is used to add optional GET or POST parameters to your requests.RequestParams
can be built and constructed in various ways:
Create empty RequestParams
and immediately add some parameters:
RequestParams params = new RequestParams();
params.put(“key”, “value”);
params.put(“more”, “data”);
Create RequestParams
for a single parameter:
RequestParams params = new RequestParams(“single”, “value”);
Create RequestParams
from an existing Map
of key/value strings:
HashMap<String, String> paramMap = new HashMap<String, String>();
paramMap.put(“key”, “value”);
RequestParams params = new RequestParams(paramMap);
See the RequestParams Javadoc for more information.
Add an InputStream
to the RequestParams
to upload:
InputStream myInputStream = blah;
RequestParams params = new RequestParams();
params.put(“secret_passwords”, myInputStream, “passwords.txt”);
tml) for more information.
Add an InputStream
to the RequestParams
to upload:
InputStream myInputStream = blah;
RequestParams params = new RequestParams();
params.put(“secret_passwords”, myInputStream, “passwords.txt”);