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框架搭建项目,再后面一节再写。