android AQuery框架执行回调 AjaxCallback

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数据 回调到需要的地方。。如果就一个地方使用的话,
                                            //也可以直接在这里进行处理
					}
				});
				
				
		}		

在写好回调方法后 ,我们需要将它用在需要使用的地方  假设下段代码在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中获取回调回来的数据了。




你可能感兴趣的:(android,android,回调,callback,AQuery,AQuery,AjaxCallback)