android AQuery框架发网络请求时会通过一个回调方法将获取的数据返回回来 ,很多时候网络请求方法会放在一个单独的包中,这里通过重写一次回调将callback回来的数据 再去回调一次到需要的地方 AQuery的一个下载地址:http://download.csdn.net/detail/yangbo437993234/7630885
在一个类中写一个回调方法
public class SendPost{ /** * 发送请求并返回想要的信息列表 * 这里用的是Aquery框架的post请求 ,直接发送json对象到服务器 。其它请求方式一样可以 * 重点:需要传入一个 AjaxCallback<?> 回调对象作为需要获取数据的地方进行实时获取数据 * 这里返回的对象为JSONObject 所以传入对象为 AjaxCallback<JSONObject> **/ //实例化Aquery时需要传入一个Context ,Activity 或者View 对象 public void async_post(String url, JSONObject args,Activity activity, final AjaxCallback<JSONObject> delegate ) { AQuery aq = new AQuery(activity); //实例化AQuery框架 aq.post(url, args, JSONObject.class, //发送POST请求 并返回数据 JSONObject json new AjaxCallback<JSONObject>() { @Override public void callback(String url, JSONObject json, AjaxStatus status) { delegate.callback(url, json, status); // 这里将获取的JSON数据 回调到需要的地方。。如果就一个地方使用的话, //也可以直接在这里进行处理 } }); }
//这里的数据都是假数据 String url="http://115.28.165.154:8080/"; JSONObject object=new JSONObject("name:Iyangc"); new SendPost(). async_post( url, args,this, new AjaxCallback<List<DataInfo>>() { public void callback(String url,JSONObject object, com.androidquery.callback.AjaxStatus status) { //object为类SendPost发送请求回调回来的数据 // 可以在回调使用网络获取的数据了 } });