Android基于http的网络请求async-http框架
2016-04-20 20:09
591 查看
Android应用经常会和服务器端交互, Android原生提供基于HttpClient和HttpUrlConnection的两种网络访问方式,但是用这种方式需要很大的工作量。目前有几种快捷的网络开发开源框架,我就介绍一下用的特别多的Android-async-http。
Android端
1、先建一个Android项目,导入android-async-http.jar。
2、为了方便使用我们将要使用的地址写在RaParam类里面,代码如下:
public class RaParam {
public static String realIP;
static String ip="106.91.31.185";
static String port="8080";
public static void setIp(String Ip,String Port){
ip=Ip;
port = Port;
}
public static String getServerAddr() {
return "http://" + ip + ":" + port + "/Test/";
}
public static String getPhoneNumber() {
return "10086";
}
}这里的ip可以根据自己的需要改为本地或者外网的ip。
3、现在我们可以使用了,下面是一个例子:
private void login(final String userName, String password) {
// TODO 自动生成的方法存根
// myDialog.show();
String url = address + "UserController/checkPassword.do";//要访问的方法
RequestParams params = new RequestParams();
params.put("userName", userName);//将传数据到服务器端,这里要注意第一个字段名要和服务器端的字段名一样。
params.put("password", password);
AsyncHttpClient asyncHttpClient = new AsyncHttpClient();
asyncHttpClient.post(url, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String content) {
super.onSuccess(content);//content是服务器端返回来的类容
if (!content.equals("false")) {
Toast.makeText(LoginActivity.this,"登录成功", Toast.LENGTH_LONG).show();
System.out.println(content);
} else {
Toast.makeText(LoginActivity.this, "用户名或密码错误",
Toast.LENGTH_LONG).show();
}
}
@Override
public void onFailure(Throwable error) {
}
});
}这样就完成了数据传到服务器。
服务器端用MVC框架搭建项目,再后面一节再写。
Android端
1、先建一个Android项目,导入android-async-http.jar。
2、为了方便使用我们将要使用的地址写在RaParam类里面,代码如下:
public class RaParam {
public static String realIP;
static String ip="106.91.31.185";
static String port="8080";
public static void setIp(String Ip,String Port){
ip=Ip;
port = Port;
}
public static String getServerAddr() {
return "http://" + ip + ":" + port + "/Test/";
}
public static String getPhoneNumber() {
return "10086";
}
}这里的ip可以根据自己的需要改为本地或者外网的ip。
"http://" + ip + ":" + port + "/Test/"这里的Test是要链接的项目名。
3、现在我们可以使用了,下面是一个例子:
private void login(final String userName, String password) {
// TODO 自动生成的方法存根
// myDialog.show();
String url = address + "UserController/checkPassword.do";//要访问的方法
RequestParams params = new RequestParams();
params.put("userName", userName);//将传数据到服务器端,这里要注意第一个字段名要和服务器端的字段名一样。
params.put("password", password);
AsyncHttpClient asyncHttpClient = new AsyncHttpClient();
asyncHttpClient.post(url, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String content) {
super.onSuccess(content);//content是服务器端返回来的类容
if (!content.equals("false")) {
Toast.makeText(LoginActivity.this,"登录成功", Toast.LENGTH_LONG).show();
System.out.println(content);
} else {
Toast.makeText(LoginActivity.this, "用户名或密码错误",
Toast.LENGTH_LONG).show();
}
}
@Override
public void onFailure(Throwable error) {
}
});
}这样就完成了数据传到服务器。
服务器端用MVC框架搭建项目,再后面一节再写。
相关文章推荐
- 基于Windows的迭代回声服务器端/客户端(基于TCP的服务器端/客户端)
- 2016西电校赛网络赛 Problem D 抢人头
- 2016西电校赛网络赛 Problem C 寻找万神
- 2016西电校赛网络赛Problem B 猴子吃桃 II
- 2016西电校赛网络赛 Problem A z1+z2
- HTML5第7次课堂笔记(图片验证码的应用,xmlhttprequest对象的使用,跨域)
- 网络:NSURLSession
- HTTP笔记
- bzoj4538: [Hnoi2016]网络
- 解决 nginx https反向代理http协议 302重定向localtion到http问题
- linux 网络编程基础(四)read,write,connect, accept 超时封装
- IP地址、子网掩码、网络号、主机号、网络地址、主机地址
- android开发网络请求
- Android开发请求网络方式
- [BZOJ4538]网络
- linux 网络编程基础(三)selsct函数应用
- Cocos2d-x3.1TestCpp之NewRenderTest Demo分析
- http、TCP/IP协议与socket之间的区别
- 网络数据请求
- 理解HTTP幂等性