2011-03-13 73 views
4

我想知道是否有任何方法在類似於AJAX的Android客戶端中創建異步回調函數,將事件處理程序綁定到「響應收到」事件。我正在尋找這樣的事情:是否有任何的Android AJAX樣異步回調方法?

  1. 客戶端通過POST或GET發送數據到服務器,應用程序未鎖定,等待響應。
  2. 服務器過程中的數據和發送響應。
  3. 該應用接收該響應,並在該時間引發事件,並執行它的事件處理程序。

回答

0

您可以使用droidQuery來使用Ajax -like語法。此庫使用的的AsyncTask到在後臺運行的要求。一個簡單的例子:

$.ajax(new AjaxOptions().url("http://www.example.com").type("GET").dataType("json").success(new Function() { 
    @Override 
    public void invoke($ d, Object... args) { 
     JSONObject json = (JSONObject) args[0]; 
     //TODO handle json. If expecting a JSONArray, just cast args[0] to JSONArray. 
    } 
}).error(new Function() { 
    @Override 
    public void invoke($ d, Object... args) { 
     AjaxError error = (AjaxError) args[0]; 
     Toast.makeText(MyActivity.this, "Error (" + error.status + "): " + error.reason, Toast.LENGTH_LONG).show(); 
    } 
}));