首先在GitHub上下载异步Http框架代码以及相关文档:

将jar包放入lib包中即可;

接下来分别实现get、post、文件上传功能实现:

代码实现如下:

AsyncHttpClient client = new AsyncHttpClient();
String path = "url连接";
/**
* Http--get请求
*/
client.get(path, new AsyncHttpResponseHandler(){
@Override
@Deprecated
public void onSuccess(String content) {
super.onSuccess(content);
Toast.makeText(MainActivity.this, content, Toast.LENGTH_SHORT).show();
} @Override
@Deprecated
public void onFailure(Throwable error, String content) {
// TODO Auto-generated method stub
super.onFailure(error, content);
Toast.makeText(MainActivity.this, content, Toast.LENGTH_SHORT).show();
}
}); /**
* http--post
*/
RequestParams params = new RequestParams();
params.put("account", "测试用户");
params.put("password", "12315");
client.post(path, params, new AsyncHttpResponseHandler(){
@Override
@Deprecated
public void onSuccess(String content) {
super.onSuccess(content);
Toast.makeText(MainActivity.this, content, Toast.LENGTH_SHORT).show();
}
@Override
@Deprecated
public void onFailure(Throwable error, String content) {
// TODO Auto-generated method stub
super.onFailure(error, content);
Toast.makeText(MainActivity.this, content, Toast.LENGTH_SHORT).show();
}
});
/**
* Http--文件上传
*/
String path1 = "/sdcard/p.jpg";
File file = new File(path1);
try {
params.put("profile_picture", file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
client.post("上传接口url地址",params, new AsyncHttpResponseHandler(){ @Override
@Deprecated
public void onFailure(Throwable error, String content) {
super.onFailure(error, content);
Toast.makeText(MainActivity.this, content, Toast.LENGTH_SHORT).show();
} @Override
@Deprecated
public void onSuccess(String content) {
Toast.makeText(MainActivity.this, content, Toast.LENGTH_SHORT).show();
} } );

android_async_http框架将常用的Http协议进行封装,简化了开发者的操作,并且具有Gzip压缩数据的功能,

项目链接:https://github.com/loopj/android-async-http

通过线程池去处理资源访问
GET/ POSTparams建设者(RequestParams)
实现多重文件上传并且没有额外的第三方库
jar包只有19Kb,很小
优化网络请求,支持Gzip

虽然是比较优秀的http框架,但是在实际使用过程中也出现了一下不理想的问题,所以不建议使用。

更多内容:http://www.apkbus.com/blog-87624-55718.html

android异步Http框架的更多相关文章

  1. Android 异步查询框架AsyncQueryHandler的使用

    AsyncQueryHandler简介: 异步的查询操作帮助类,可以处理增删改(ContentProvider提供的数据) 使用场景: 在一般的应用中可以使用ContentProvider去操作数据库 ...

  2. Android异步任务处理框架AsyncTask源代码分析

    [转载请注明出处:http://blog.csdn.net/feiduclear_up CSDN 废墟的树] 引言 在平时项目开发中难免会遇到异步耗时的任务(比方最常见的网络请求).遇到这样的问题.我 ...

  3. [android] 异步http框架与实现原理

    介绍github上的异步http框架android-async-http loopj开发 获取AsyncHttpClient对象,通过new 调用AsyncHttpClient对象的get(url,r ...

  4. Android 异步Http框架简介和实现原理

    在前几篇文章中<Android 采用get方式提交数据到服务器><Android 采用post方式提交数据到服务器><Android 采用HttpClient提交数据到服 ...

  5. Android 从零开始打造异步处理框架

    转载请标明出处:http://www.cnblogs.com/zhaoyanjun/p/5995752.html 本文出自[赵彦军的博客] 概述 在Android中会使用异步任务来处理耗时操作,避免出 ...

  6. android 学习随笔十二(网络:使用异步HttpClient框架)

    使用异步HttpClient框架发送get.post请求 在https://github.com/ 搜索 asyn-http https://github.com/search?utf8=✓& ...

  7. Android Native层异步消息处理框架

     *本文系作者工作学习总结,尚有不完善及理解不恰当之处,欢迎批评指正* 一.前言 在NuPlayer中,可以发现许多类似于下面的代码: //============================== ...

  8. 15 个 Android 通用流行框架大全(转)

    1. 缓存 DiskLruCache    Java实现基于LRU的磁盘缓存 2.图片加载 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库 Picas ...

  9. Android 通用流行框架

    原文出处: http://android.jobbole.com/83028/ 1. 缓存 名称 描述 DiskLruCache Java实现基于LRU的磁盘缓存 2.图片加载 名称 描述 Andro ...

随机推荐

  1. ****The Toy of Flandre Scarlet

    The Toy of Flandre Scarlet Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & ...

  2. Yii2 基于RESTful api 坑 访问会把控制器名称变为复数

    'urlManager' => [ 'class' => 'yii\web\UrlManager', 'enablePrettyUrl' => true, 'enableStrict ...

  3. python 基础学习1

    1.注释 与shell一样,python也是以#开始为注释语句 2.运算符 + - * / // ** python中有2种除法:单斜杠是普通除法,双斜杠是浮点数除法(结果四舍五入) < < ...

  4. 滚动动画animate-scroll扩展

    原动画库地址:animate-scroll 扩展动画库下载地址:animate-scroll-ext 由于项目需要,对animate-scroll进行扩展,扩展后修改或增加了以下几点: 对原动画库进行 ...

  5. ios9 新关键字 __kindof 等(etc) 小结

    首先__kindof:规定参数为UITableViewCell(举例)这个类或者其子类.比如说一个NSArray<UIView *>*,如果不加__kindof,这个数组只能有UIView ...

  6. javaWEB总结(13):域对象的属性操作

    前言 本文主要讲解javaweb的四个域对象以及他们的作用范围,后面会有小demo来具体测试. 四个域对象 (1)pageContext:属性的作用范围仅限于当前JSP页面: (2)request:属 ...

  7. SVN-Attempted to lock an already-locked dir错误

    svn更新时,文件夹被锁死. 解决办法: 右键该文件,在team(版本管理)里面执行"清除"操作后,问题解决了.

  8. openstack私有云布署实践【2 安装前的服务器基本环境准备】

    服务器物理机都安装centos7.2 1511版本 , 此次采用的分区方式全是自动XFS格式LVM,在装系统时就将所有本地raid5硬盘都加入LVM全用了.默认/home目录有着最大的硬盘空间 并且我 ...

  9. hdu1011

    /*比较苦逼的树形DP,慢慢来吧!不着急*/#include <iostream>#include <vector>using namespace std;const int ...

  10. L2-002. 链表去重

    L2-002. 链表去重 题目链接:https://www.patest.cn/contests/gplt/L2-002 这题因为结点地址只有四位数,所以可以直接开一个10000的数组模拟内存就好了. ...