Android网络请求框架:Android-async-http简单使用
来源:互联网 发布:宁波java培训班 编辑:程序博客网 时间:2024/05/21 10:49
Android-async-http网络框架:https://github.com/loopj/android-async-http
* 是一款高效的数据请求,文件上传下载网络请求开源框架。
* 优点:
* 网络请求回调清晰,易操作
* 请求使用线程池TreadPool,限制并发请求资源使用
* GET,POST等常用 请求基于参数构建使用,传递参数方便
* Multipart文件上传下载等。
使用比较简单,但其功能非常强大,还需要在使用中不断挖掘,简单使用举例:
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //使用get请求 http_get(); //使用post请求 http_post(); } private void http_get() { // 网络请求的连接地址,xxxxxxxx指你在聚合api中申请的key值 String url = "http://apis.juhe.cn/mobile/get?phone=13429667914&key=xxxxxxxx"; AsyncHttpClient client = new AsyncHttpClient(); client.get(url, new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] result) {//网络请求成功处理 Log.e("ldm",new String(result)); } }); } private void http_post() { //用Post要把get请求后面的字段用参数的方式过去 String url = "http://apis.juhe.cn/mobile/get?"; AsyncHttpClient client = new AsyncHttpClient(); // 创建异步请求的客户端对象 String url = "http://172.16.237.200:8080/video/login.do"; // 定义请求的地址 // 创建请求参数的封装的对象 RequestParams params = new RequestParams(); param.put("phone", "13429667914");//参数phone param.put("key", "xxxxxxxx"); //参数key:在聚合API网站申请的key值 // 执行post方法 client.post(url, params, new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] result) { if (statusCode == 200) {//请求成功处理 Log.e("ldm",new String(result)); } } @Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { //请求失败处理 Log.e("ldm",error.printStackTrace().toString());// 把错误信息打印出轨迹来 } }); }}
我们可以对AsyncHttpResponseHandler进行简单封装,当然我们可以根据自己项目的需要对框架进行封装,方便项目开发。public abstract class NetHttpHandler extends AsyncHttpResponseHandler { @Override public void onStart() { Log.e("ldm", "网络请求开始,我们可以使用加载框提示"); super.onStart(); } @Override public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { Log.e("ldm", "请求失败,进行失败处理"); requestFail(agr3); super.onFailure(arg0, arg1, arg2, arg3); } @Override public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { Log.e("ldm", "请求成功,进行成功后数据处理"); requestSuccess(new String(arg2)); super.onSuccess(arg0, arg1, arg2); } public abstract void requestSuccess(String result);// 请求成功回调 public abstract void requestFail(Throwable error);// 请求失败回调}
我们把上面的AsyncHttpResponseHandler 换成我们的NetHttpHandler,在requestSuccess()和requestFail()方法中进行逻辑处理就可以了。
0 0
- Android网络请求框架:Android-async-http简单使用
- Android 网络请求框架android-async-http简单使用
- 使用android-async-http来封装Android网络请求框架
- Android网络请求框架android-async-http
- android-async-http网络框架的使用
- Android基于http的网络请求async-http框架
- Android网络请求框架AsyncHttpClient (android-async-http)介绍说明
- Android网络通信请求框架—Android-async-http
- Android 主流网络请求框架 Android-async-http
- Android 使用android-async-http网络请求框架出现Header[]不识别错误的解决办法
- Android-async-http 网络请求框架(工具类)
- Android网络请求库——android-async-http使用
- Android网络请求库android-async-http使用
- Android网络请求库android-async-http使用
- Android网络请求库android-async-http使用
- Android网络请求库android-async-http使用
- Android网络请求库android-async-http使用
- 【已解决】使用android-async-http网络请求框架出现Header[]不识别错误的解决办法
- orcale 查询两个不同的条件的结果的差值(minus)
- AIX-topas命令
- 关于微信端分享页面的设置问题
- Java开发中的23种设计模式详解
- 知乎 如何才能热爱生活,对生活充满激情
- Android网络请求框架:Android-async-http简单使用
- 二级多菜单
- 数据解析
- ffmpeg 在ubuntu12.04上的编译
- android横向ListView(HorizontalListView)
- Centos 5.3安装增强工具时报错权限不够
- android博客学习
- org.xmlpull.v1.XmlPullParserException: preconditon: START_TAG
- 我们是如何解决问题的