一个、开源参考架构的方法。

方法一

找到下载的文件的源代码,Com中的src文件夹下

方法二

引入jar包到libs下

二、引用开源框架发送get请求给server步骤:

1.创建异步请求端对象

2.发送get请求,(get请求參数含义:请求的url地址。异步请求的handler)

3.在成功请求里(status:状态返回码,headers:头部请求信息,responseBody返回结果)设置控件内容

三、引用开源框架发送post请求给server步骤

1.创建异步请求端对象

2.发送post请求,(get请求參数含义:请求的url地址;异步请求的handler)

3.封装请求參数

4.在成功请求里(status:响应状态码,headers:响应头信息,responseBody对应内容的字节码)设置控件内容

补充:

查看帮助文档我们知道,在post方法中传递參数时候能够创建RequestParams的对象,put进你所想要赋的值。例如以下图:

实例解析:当用户登录时。在界面输出用户是否登录成功

执行结果

      

项目实现

1.布局文件:同login布局文件
http://blog.csdn.net/zhaoyazhi2129/article/details/26509763
2.在AndroidManifest.xml加入internet权限

<uses-permission android:name="android.permission.INTERNET"/>

3.LoginActivity的代码(代码中具体加了凝视,请细致阅读)
package com.example.android_httpasync;import org.apache.http.Header;import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
/*** 通过开源框架AsyncHttpClient的get/post请求处理* @author zhaoyazhi**/
public class MainActivity extends Activity {private EditText et_username;private EditText et_password;private TextView tv_result;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);findView();}/*** 查找控件*/public void findView() {et_password = (EditText) findViewById(R.id.editpass);et_username = (EditText) findViewById(R.id.editusername);tv_result = (TextView) findViewById(R.id.tv_result);}/*** 登陆button操作* * @param v*/public void login(View v) {// 获取点击控件的idint id = v.getId();// 依据id进行推断switch (id) {case R.id.btn_login:// 进行登录操作// 获取用户名密码final String userName = et_username.getText().toString();final String userPass = et_password.getText().toString();// 推断是否为空if (TextUtils.isEmpty(userName) || TextUtils.isEmpty(userPass)) {Toast.makeText(getApplicationContext(), "用户名或者密码不能为空", 0).show();} else {Toast.makeText(getApplicationContext(), "发送请求道server", 0).show();// loginByAsyncHttpClientGet(userName, userPass);loginAsyncHttpClientPost(userName, userPass);}break;default:break;}}/*** 通过开源框架AsyncHttpClient的post请求处理* @param userName* @param userPass*/private void loginAsyncHttpClientPost(final String userName,final String userPass) {// 发送请求到serverAsyncHttpClient client = new AsyncHttpClient();String url = "http://172.16.237.144:8080/Login/LoginServlet";// 创建请求參数RequestParams params = new RequestParams();params.put("username", userName);params.put("userpass", userPass);// 运行post方法client.post(url, params, new AsyncHttpResponseHandler() {@Overridepublic void onSuccess(int statusCode, Header[] headers,byte[] responseBody) {// 设置值tv_result.setText(new String(responseBody));}@Overridepublic void onFailure(int statusCode, Header[] headers,byte[] responseBody, Throwable error) {// 打印错误信息error.printStackTrace();}});}/*** 通过开源框架AsyncHttpClient的get请求处理* @param userName* @param userPass*/private void loginByAsyncHttpClientGet(final String userName,final String userPass) {// 创建异步请求端对象AsyncHttpClient client = new AsyncHttpClient();String url = "http://172.16.237.144:8080/Login/LoginServlet?username="+ userName + "&userpass=" + userPass;// 发送get请求对象client.get(url, new AsyncHttpResponseHandler() {@Override// statusCode:状态返回码,headers:头部请求信息,responseBody返回结果public void onSuccess(int statusCode, Header[] headers,byte[] responseBody) {tv_result.setText(new String(responseBody));}@Overridepublic void onFailure(int statusCode, Header[] headers,byte[] responseBody, Throwable error) {// 输出错误信息error.printStackTrace();}});}
}

为了加强我们理解,在onSuccess方法中增加一些測试语句:

在控制台输出结果例如以下:

jar文件资源:http://download.csdn.net/detail/zhaoyazhi2129/7400787

源代码:http://download.csdn.net/detail/zhaoyazhi2129/7400799

版权声明:本文博客原创文章,博客,未经同意,不得转载。

找呀志_通过开源框架引AsyncHttpClient处理get/post要求相关推荐

  1. tomcat中request对象是被创建的_常用开源框架中设计模式使用分析(全)

    一.前言 说起来设计模式,大家应该都耳熟能详,设计模式代表了软件设计的最佳实践,是经过不断总结提炼出来的代码设计经验的分类总结,这些模式或者可以简化代码,或者可以是代码逻辑开起来清晰,或者对功能扩展很 ...

  2. caffe安装_【开源框架】caffe图像分类从模型自定义到测试

    这一次我们讲讲 Caffe 这个主流的开源框架,从训练到测试出结果的全流程. 到此,我必须假设大家已经有了深度学习的基础知识并了解卷积网络的工作原理. 相关的代码.数据都在我们 Git 上,希望大家 ...

  3. 开源框架_跨平台开源框架对比介绍

    知识库  夕阳下你的背影 轻轻嗅探你诱人的气息 幻想远方的你就在身边 这的空气也已不再污浊 若隐若现 知识库主要记录生活,工作不断归纳总结的经验,能时刻指导我不断清空自我,处于空杯状态去面对未来和过去 ...

  4. java iot框架_物联网开源框架Thingsboard使用总结

    总架构 文档:https://thingsboard.io/docs/reference/architecture/ 并发模型: Actor模型akka 集群协作:zookeeper 支持协议:mqt ...

  5. dapper框架_.net core 基于Dapper 的分库分表开源框架(core-data)

    一.前言 感觉很久没写文章了,最近也比较忙,写的相对比较少,抽空分享基于Dapper 的分库分表开源框架core-data的强大功能,更好的提高开发过程中的效率: 在数据库的数据日积月累的积累下,业务 ...

  6. java jna 数据结构_开源框架JNA的使用

    Java开发过程中,有时候会需要和C,C++等交互,这时候我们就想起了经典技术JNI,但是JNI的使用过程十分繁琐,而且容易出现各种问题,还得封装而且问题不好定位.假如我们有一个.so文件,如果使用J ...

  7. python后端学什么框架_献给正在学习python的你, 10个最受欢迎的Python开源框架

    很多小伙伴在学习wen的时候说,有没有几个常用的框架,好多小伙伴都只说对了其中几个,只有少部分是说正确的,想要了解更多,欢迎大家订阅微信公众号:Python从程序猿到程序员,或者加4913.08659 ...

  8. 飞桨模型保存_重磅发布开源框架、生物计算平台螺旋桨,百度飞桨交了年终成绩单...

    机器之心报道 作者:蛋酱.张倩 在 12 月 20 日举行的「WAVE SUMMIT+ 2020 深度学习开发者峰会」上,飞桨平台交出了一份非常亮眼的年终成绩单. 2020 年,是不平凡的一年:这一年 ...

  9. python 使用文本注解绘制树节点_整理了 34 个被吹爆了的Python开源框架

    点击"Python编程与实战",选择"置顶公众号" 第一时间获取 Python 技术干货! 阅读文本大概需要 5 分钟. 我们从近10000个python开源框 ...

最新文章

  1. java+脚本+压枪,我的世界钓鱼脚本代码csgo压枪
  2. SQL Server 2005两本教程案例数据库
  3. python123动物重量排序_python进阶
  4. 如何部署 Hyperic ,使得从内网监测外网服务器
  5. SpringMVC集成Thymeleaf
  6. c++知识整理 编程模块
  7. ios 画带有箭头的线_ios纯色箭头与渐变色箭头的实现
  8. python中统计特征
  9. 最后的答辩之银行电话营销响应模型
  10. 富士施乐Fuji Xerox DocuPrint M255 z 驱动
  11. 若依RuoYi-Vue 入门零接触超详细(一)
  12. UOJ14 DZY Loves Graph
  13. 基于SSM的学生考勤管理系统的设计与实现
  14. 物联网导论-自动识别技术
  15. 客户端开发GUI框架对比与技术选型总结
  16. Hadoop MapReduce 统计汽车销售信息
  17. 电力电子技术笔记(2)——电力二极管
  18. 杭州嵌入式linux培训机构,杭州嵌入式培训|嵌入式软件培训|嵌入式编程|杭州linux培训-和盈...
  19. 基于Mininet,搭建简单的sFlow测试环境
  20. openSUSE----openSUSE常用的软件包管理命令

热门文章

  1. 2016/09/19
  2. UI框架-JQuery Smart / 淘宝JS库 KISSY UI
  3. .NET数据提供程序
  4. Tensorflow源码编译
  5. 二相四线制步进电机驱动原理与Proteus仿真
  6. 冈萨雷斯图像处理Matlab函数汇总
  7. drools规则拼接_Drools-规则层次结构和条件执行
  8. html如何与js链接,链接index.html client.js和server.js
  9. redis 判断存在性_一口气说出四种幂等性解决方案,面试官露出了姨母笑~
  10. kubectl mysql 集群_mysql-kubernetes