一、引用开源框架方法。
方法一
找到下载文件的源码,Com包黏贴到项目中的src目录下
方法二
引入jar包到libs下
二、引用开源框架发送get请求给服务器步骤:
1.创建异步请求端对象
2.发送get请求,(get请求参数含义:请求的url地址;异步请求的handler)
3.在成功请求里(status:状态返回码,headers:头部请求信息,responseBody返回结果)设置控件内容
三、引用开源框架发送post请求给服务器步骤
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-permissionandroid: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;
@Override
protected 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);
}
/**
* 登陆按钮操作
*
* @param v
*/
public void login(View v) {
// 获取点击控件的id
int 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(), "发送请求道服务器", 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) {
// 发送请求到服务器
AsyncHttpClient 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() {
@Override
public void onSuccess(int statusCode, Header[] headers,
byte[] responseBody) {
// 设置值
tv_result.setText(new String(responseBody));
}
@Override
public 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));
}
@Override
public 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
分享到:
相关推荐
引用开源框架发送get请求给服务器步骤: 1.创建异步请求端对象 2.发送get请求,(get请求参数含义:请求的url地址;异步请求的handler) 3.在成功请求里(status:状态返回码,headers:头部请求信息,responseBody...
用HTML页面模拟测试get/post请求,psot请求参数的格式为json串
VC++演示GET/POST发送请求的HTTP客户端,为了演示HTTP的客户编写的,因此运行时必须在本机有开HTTP服务才行。程序会会自动发送用户选择的请求类型,并跟踪这个请求,并返回信息在主窗体上。
处理GET请求 1.1 接收GET请求 //接收GET请求 func Get(writer http.ResponseWriter , request *http.Request) { query := request.URL.Query() // 第一种方式 // id := query[id][0] // 第二种方式 id := ...
C# http Get/POST请求封装类
httpclient get/post请求工具类(map参数封装),方便调用
HttpClient(用CloseableHttpClient发送get/post请求)
java发送http/https请求(get/post)代码,java 通过发送json,post请求,返回json数据的方法 java 通过发送json,post请求,返回json数据的方法
一个关于Android客户端请求服务器端代码,涉及到Get/Post请求和Android中android-async-http-master插件的使用。
用Python和TCP sockets手写了一个可以接收HEAD、GET和POST等request message的简单的 HTTP web服务器。
Rust使用 reqwest 发起 GET/POST 异步请求.pdf
封装https/http的get/post使用函数DLL文件,方便使用者调用,有调用示例程序;另外还有两个ansi与Utf8的转换, 调用示例: PostHttpsContext("current.sinaapp.com","/post.php","name=rain&age=12"); 调用示例: ...
本次请求类型基本都包含了,仅供参考研究。
c# 运用get/post 和使用webservicec# 运用get/post 和使用webservicec# 运用get/post 和使用webservicec# 运用get/post 和使用webservice
http协议是互联网上应用最为广泛的一种网络协议,他在接口中扮演着重要的角色,Post/Get请求,想必大家都有所耳闻,我们一起利用Boost::Asio库来实现Post/Get请求的发送。 VS2013 文章地址:...
python--playwright修改GET/POST请求参数,抓包修改数据,内含: 1、index.py主代码,演示完整的抓包修改数据demo 2、flaskServer.py服务端,用于返回传入的参数 运行顺序: 先运行:python flaskServer.py 然后再...
Delphi两种方法演示HTTP请求:GET/POST方法使用演示,程序将演示使用这两种方法建立会话、建立一个http请求句柄、发送一个指定请求到httpserver、接收header信息和一个http请求、指向一个接收请求信息的缓冲区的指针...
https://blog.csdn.net/myWorld001/article/details/109261850
主要介绍了Java发送http get/post请求调用接口/方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
调用http请求的工具类