1.框架

loopj.com/android-async-http/

2.使用:

AsyncHttpClient client = new AsyncHttpClient();client.get("http://www.google.com", new AsyncHttpResponseHandler() {    @Override    public void onSuccess(String response) {        System.out.println(response);    }});

注意坑:client推荐使用单例,但是不要随便放在class的static里面, 一定要放到application类里面。 否则切出应用2分钟后回来,请求失败了啊。

3.返回处理(以json为例,结合gson直接拿到返回对象)

 new AsyncHttpResponseHandler() {public void onSuccess(String response) {UserInfoResp resp = new Gson().fromJson(response,UserInfoResp.class);} else {// 报错progress.CloseProgress();Toast.makeText(LoginActicity.this, resp.errMsg,Toast.LENGTH_SHORT).show();}}@Overridepublic void onFailure(int statusCode, Header[] headers,byte[] responseBody, Throwable error) {onFailurePrint(statusCode, headers, responseBody, error);}});/** * 请求onFailur时候的错误打印模版 */public static void onFailurePrint(int statusCode,Header[] headers,byte[] responseBody, Throwable error){if(error!=null){Log.e("ossclient", "statusCode="+statusCode,error);}else{Log.e("ossclient", "statusCode="+statusCode+" without Exception");}if (responseBody!=null) {try {Log.e("ossclient", new String(responseBody, "UTF-8"));} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

4. 批量图片上传; 如果需要等待全部结果的返回,可以使用CountDownLatch

http://developer.android.com/reference/java/util/concurrent/CountDownLatch.html

原以为安卓里面没有这种java特性,于是自己写了老半天,主要是两个坑:

1.、计数对象必须加volatileprivate volatile int count_OK = 0;

2、 需单独开线程来循环计数,如果主线程做循环计数,while会导致无法处理response。

//等待全部上传ok再提交后台new Thread(){public void run(){while(count_OK < size_ALL){try {sleep(200);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}System.out.println("haha");addPics();}}.start();

更多相关文章

  1. Android常用控件
  2. Android内容提供者源码
  3. Android(安卓)下拉刷新,非常强大的下拉刷新功能
  4. android 单元测试
  5. 【安卓笔记】android客户端与服务端交互的三种方式
  6. Android(安卓)-- Android(安卓)JUint 与 Sqlite
  7. 重定向android log
  8. android touch事件解析
  9. android三级联动、四级联动(地区选择)

随机推荐

  1. 在android上实现二维码生成和扫描
  2. android开发之ClipboardManager(剪贴板管
  3. Android(安卓)日历控件:TimesSquare
  4. android framework之旅(四)去除Usb权限弹窗
  5. Deepin Software编程
  6. Appium+Python appium启动夜神模拟器定位
  7. android 自定义Toast显示风格
  8. Android(安卓)4.0 framework源码修改编译
  9. Android应用程序的startActivity过程
  10. android应用的优化建议