android使用AsyncHttpClient开源项目进行异步网络请求

来自《Android移动应用基础教程》里面

1. 到githup上面下载AsyncHttpClient源代码,https://github.com/loopj/android-async-http

我下载的是android-async-http-master.zip,解压后就得到了AsyncHttpClient的源代码,可以把源代码拷贝到android项目的src文件夹下使用,也可以在releases文件夹下找到android-async-http-1.4.8.jar,将其拷贝到android工程的libs文件夹下进行使用。(可能会有版本差异)

2.AsyncHttpClient常用类

AsyncHttpClient:用来访问网络的类

RequestParams:用于添加参数的类

AsyncHttpResponseHandler:访问网络后回调的接口

如果要使用AsyncHttpClient,首先要创建AsyncHttpClient的实例,然后设置参数,接着通过AsyncHttpClient的实例对象访问网络。如果访问成功则会回调AsyncHttpResponseHandler接口中的OnSucess方法,失败则会回调OnFailure方法。

3.例如:

  //创建AsyncHttpClient的实例
  AsyncHttpClient httpClient = new AsyncHttpClient();
  //拼装URL,注意要将参数编码
  String path = "http://192.168.1.100:8080/web/LoginServlet?username="
    + URLEncoder.encode("zhangsan") + "&password="
    + URLEncoder.encode("1234");
  //GET方式请求网络
  httpClient.get(path, new AsyncHttpResponseHandler() {
   
   //访问网络成功
   @Override
   public void onSuccess(int arg0, Header[] arg1, byte[] content) {
    String str = new String(content);
    Toast.makeText(MainActivity.this, "请求成功" + str, 0).show();
   }
   
   @Override
   public void onFailure(int arg0, Header[] arg1, byte[] content, Throwable arg3) {
    Toast.makeText(MainActivity.this, "请求失败" + new String(content), 0).show();
   }
  });
  
  //Post方式访问网络
  AsyncHttpClient httpClient2 = new AsyncHttpClient();
  //访问地址
  String urlstr = "http://192.168.1.100:8080/web/loginServlet";
  //用于添加参数
  RequestParams params = new RequestParams();
  //添加参数
  params.put("name", "张三");
  params.put("password", "12345");
  //访问网络
  httpClient2.post(urlstr, new AsyncHttpResponseHandler() {
   //访问成功
   @Override
   public void onSuccess(int arg0, Header[] arg1, byte[] responseBody) {
    Toast.makeText(MainActivity.this, "请求成功" + new String(responseBody), 0).show();
   }
   
   @Override
   public void onFailure(int arg0, Header[] arg1, byte[] responseBody, Throwable arg3) {
    Toast.makeText(MainActivity.this, "请求失败" + new String(responseBody), 0).show();
   }
  });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值