您的位置:首页 > 理论基础 > 计算机网络

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。
"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框架搭建项目,再后面一节再写。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: