网络交互框架,实现方法简单示例 android-async-http
/**
* 采用AsyncHttpClient的Post方式进行实现* @param userName
* @param userPass
*/
public void loginByAsyncHttpClientPost(String userName, String userPass) {
AsyncHttpClient client = new AsyncHttpClient(); // 创建异步请求的客户端对象
String url = "http://localhost:8080/video/login.do" ; // 定义请求的地址
// 创建请求参数的封装的对象
RequestParams params = new RequestParams();
params.put( "username" , userName); // 设置请求的参数名和参数值
params.put( "userpass" , userPass); // 设置请求的参数名和参数
// 执行post方法
client.post(url, params, new AsyncHttpResponseHandler() {
/**
* 成功处理的方法
* statusCode:响应的状态码; headers:相应的头信息 比如 响应的时间,响应的服务器 ;
* responseBody:响应内容的字节
*/
@Override
public void onSuccess( int statusCode, Header[] headers,
byte [] responseBody) {
if (statusCode == 200 ) {
tv_result.setText( new String(responseBody)); // 设置显示的文本
}
}
/**
* 失败处理的方法
* error:响应失败的错误信息封装到这个异常对象中
*/
@Override
public void onFailure( int statusCode, Header[] headers,
byte [] responseBody, Throwable error) {
error.printStackTrace(); // 把错误信息打印出轨迹来
}
});
}
/**
* 采用AsyncHttpClient的Get方式进行实现
* @param userName
* @param userPass
*/
public void loginByAsyncHttpClientGet(String userName, String userPass) {
// 创建异步的客户端对象
AsyncHttpClient client = new AsyncHttpClient();
// 请求的地址
String url = "http://localhost:8080/video/login.do" ;
// 创建请求参数的封装的对象
RequestParams params = new RequestParams();
params.put( "username" , userName); // 设置请求的参数名和参数值
params.put( "userpass" , userPass); // 设置请求的参数名和参数
// 发送get请求的时候 url地址 相应参数,匿名回调对象
client.get(url, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess( int statusCode, Header[] headers,
byte [] responseBody) {
// 成功处理的方法
System.out
.println( "statusCode-------------------" + statusCode);
// 遍历头信息
for ( int i = 0 ; i < headers.length; i++) {
Header header = headers[i];
System.out.println( "header------------Name:"
+ header.getName() + ",--Value:"
+ header.getValue());
}
// 设置控件内容
tv_result.setText( new String(responseBody));
}
@Override
public void onFailure( int statusCode, Header[] headers,
byte [] responseBody, Throwable error) {
// 失败处理的方法
error.printStackTrace();
}
});
}