您的位置:首页 > 产品设计 > UI/UE

Android-query框架进行开发

2014-11-24 12:20 309 查看
开发Android使用Android-query框架能够快速的,比传统开发android所要编写的代码要少得很多,容易阅读等优势。相关代码和介绍可以去

GitHub上,地址:https://github.com/androidquery/androidquery

要使用Android-query,我们需要导入jar包或者library文件,上面地址可以下载相关文件。导入之后,我们就可以使用它了。第一部,我们需要创建一个AQuery对象,AQuery aq
= new AQuery(this);然后利用aq.ajax()方法就可以方便的进行Http请求了,

比如下面一个登录验证请求:

aq.ajax(url, params, JSONObject.class, new AjaxCallback<JSONObject>(){
@Override
public void callback(String url, JSONObject json, AjaxStatus status) {
if(json != null){
try {
if(json.has("result") && json.getBoolean("result")){
accountInfo.setmAccountName(account);
accountInfo.setmUserName(username);
accountInfo.setmPassword(password);
accountInfo.saveAccountInfo();
startActivity(new Intent(LoginActivity.this, MainTabActivity.class));
}else{
UtilsHelper.toast(LoginActivity.this, json.getString("error"));
}
} catch (JSONException e) {
e.printStackTrace();
}
}else{
UtilsHelper.toast(LoginActivity.this, "服务器请求错误:"+status.getError());
Log.e("LoginActivity请求错误", status.getError());
}
}
});


这里面传入四个参数,分别是请求的Url网址,请求的参数,这里是一个Map集合,返回的类型以及返回调用的callback方法,返回类型和返回调用的callback方法我们只需要把类传进去就可以。

然后去实现callback方法,请求完毕之后callback方法会返回请求的url地址,请求的结果数据已经封装到上面传入的类中,这里是JSONObject,最后是请求的状态。这里我只需要判断请求里面的数据是否为null即可,然后你就可以根据请求的数据做接下来的事情了。利用Android-query,我们基本上不用写那些繁杂的http请求代码,仅仅调用ajax即可完成请求过程,是非常的方便的。

上面用的是一个POST请求,下面使用的是GET请求,传入一个空的参数进去就行,其他写法差不多,只不过这里的返回的数据是一个JSONArray数组,并且数据比较复杂,得到数据之后自己用GSON的方法构建一个自定义的HomeData类来接收处理了得到的JSONArray数组。

String url = "http://192.168.1.30/report/api/v1/drp/base/home?accountsuite="+account;
Map<String, Object> params = new HashMap<String, Object>();
BasicHandle handle = new BasicHandle(accountInfo.getmUserName(), accountInfo.getmPassword());
aq.auth(handle).ajax(url, params, JSONArray.class, new AjaxCallback<JSONArray>(){
@Override
public void callback(String url, JSONArray json, AjaxStatus status) {
if(json!=null){
datas = new ArrayList<HomeData>();
Gson g = new Gson();
datas = g.fromJson(json.toString(), new TypeToken<List<HomeData>>(){}.getType());
if(datas != null && datas.size()>0)addView(datas);
}else{
UtilsHelper.toast(getActivity(), "服务器请求错误:"+status.getCode());
Log.e("LoginActivity请求错误", status.getCode()+"");
}
}
});
上面是本人利用Android-query进行POST和GET请求的两个简单的用法,后续其他使用方式再进行介绍,并且大家有兴趣可以自己去百度了解Android-query的用法,Android-query有很多很强大的功能。

参考资料:/article/4700749.html

http://www.cnblogs.com/lee0oo0/archive/2012/10/25/2739132.html ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: