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中獲取回調回來的數據了。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章