今天接触到了LiteHttp框架,觉得挺不错,比Vollery更轻量级。详细介绍和用法,请参考:
http://www.eoeandroid.com/thread-326584-1-1.html
上面有详细的介绍,这里简单介绍一下怎么用这个框架来给服务端发送请求,完成客户端用户名和密码的验证。
GitHub链接:
https://github.com/litesuits/android-lite-async
1. 用上面的连接下载相应的liteHttp.jar, 在项目中引用它(Eclipse和Andriod Studio的引用方法不一样,请分别处理)。
2. 初始化
Liteclient = LiteHttpClient.newApacheHttpClient(context);
HttpAsyncExecutor asyncExecutor = HttpAsyncExecutor.newInstance(client);
3. 发送请求,这里会给服务端发送一个验证的loginUrl, 后面会带上用户名和密码, 然后服务端(前提是服务端的接口已经OK)会返回一个Json串(包括Authorize和Version两个属性),ApiLoginReturn这个对象就定义了服务端返回Json串中的属性(Authorize, Version)。当验证成功后,这个框架会自动解析服务端返回的Json串,然后将返回的值自动封装在ApiLoginReturn对象中,这样就能根据ApiLoginReturn对象中Authorize的返回值来验证用户名和密码是否正确。验证成功和失败都有相应的回调函数,能够根据不同的场景做不同的逻辑处理。
asyncExecutor.execute(new Request(loginUrl), new HttpModelHandler<ApiLoginReturn>() {
@Override
protected void onSuccess(ApiLoginReturn o, Response response) {
if (o.Authorize) {
Toast.makeText(context, "验证成功", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(context, "验证失败", Toast.LENGTH_LONG).show();
}
}
@Override
protected void onFailure(HttpException e, Response response) {
Toast.makeText(context, "验证连接失败,请检查网络连接情况", Toast.LENGTH_LONG).show();
}
});
public static class ApiLoginReturn {
public boolean Authorize; //验证结果
public String Version; //版本号
}
其他的一些功能,比如多文件上传功能,可以参考上面的帖子。