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 jsonnew AjaxCallback<JSONObject>() {@Overridepublic void callback(String url, JSONObject json,AjaxStatus status) {delegate.callback(url, json, status);                                              // 这里将获取的JSON数据 回调到需要的地方。。如果就一个地方使用的话,                                            //也可以直接在这里进行处理}});}

在写好回调方法后 ,我们需要将它用在需要使用的地方 假设下段代码在Activity中的某个方法里

//这里的数据都是假数据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发送请求回调回来的数据   // 可以在回调使用网络获取的数据了}});

这样就可以在Activity中获取回调回来的数据了。




更多相关文章

  1. [Android] android的消息队列模型
  2. Android---44---使用AIDL Service 实现跨进程调用Service
  3. Android图像处理简介の图像存储和元数据
  4. Android(安卓)Camera模块分析
  5. 深入浅出RxJava——在Android中使用响应式编程
  6. 谷歌官方Android应用架构库——ViewModel
  7. Android中使用SQLiteOpenHelper管理SD卡中的数据库
  8. 如何在Android(安卓)Quick Search Box中添加自己的app,按照我的意
  9. Android(安卓)性能优化方案大全

随机推荐

  1. Android启动后遇到错误
  2. Android获取手机当前连接的WiFi信息(SSID,I
  3. Android Lib Project与Android Project中
  4. Android WebView使用全面解析(加载网络资
  5. 6.2、Android中向Internet发送xml数据
  6. android view的width或者height变化的动
  7. 《android关于WIFI的操作》
  8. android 彩信分析
  9. Android 点击两次返回键退出程序
  10. Android 图片旋转(使用Matrix.setRotate方