我们在github上搜索android async http即可找到开源项目android-async-http,下载下来拷贝到项目中。该项目更多用于post提交请求。地址是:https://github.com/loopj/android-async-http.git
使用开源框架get的方式提交数据到服务器
分两步:
1. 实例化一个AsyncHttpClient对象client;
2. 调用client的get方法。
代码如下所示:
AsyncHttpClient client = new AsyncHttpClient();
client.get(path, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers,
byte[] responseBody) {
tv_status.setText(new String(responseBody));
}
@Override
public void onFailure(int statusCode, Header[] headers,
byte[] responseBody, Throwable error) {
tv_status.setText("http请求失败"+new String(responseBody));
}
});
使用开源框架post的方式提交数据到服务器
分三步:
1. 实例化一个AsyncHttpClient对象client;
2. 设置请求参数;
3. 调用client的post方法。
代码如下所示:
AsyncHttpClient client = new AsyncHttpClient();
RequestParams params = new RequestParams();
params.put("qq", qq);
params.put("pwd", pwd);
client.post(path, params, new AsyncHttpResponseHandler(){
@Override
public void onSuccess(int statusCode, Header[] headers,
byte[] responseBody) {
tv_status.setText("登陆结果:"+new String(responseBody));
}
@Override
public void onFailure(int statusCode, Header[] headers,
byte[] responseBody, Throwable error) {
tv_status.setText("请求失败请检查网络");
}
});
使用开源框架上传文件到服务器
分三步:
1. 实例化一个AsyncHttpClient对象client;
2. 设置请求参数为要上传的文件;
3. 调用client的post方法。
代码如下所示:
AsyncHttpClient client = new AsyncHttpClient();
RequestParams params = new RequestParams();
try {
params.put("file", file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
client.post("http://192.168.1.103:8080/web/UploadServlet", params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
Toast.makeText(MainActivity.this, "上传成功", 0).show();
}
@Override
public void onFailure(int statusCode, Header[] headers,
byte[] responseBody, Throwable error) {
Toast.makeText(MainActivity.this, "上传失败", 0).show();
}
});