2013-03-30 51 views
0

我試圖從服務器獲取json數據。如何使用Android異步Http客戶端獲取JSON數組fron服務器

我測試了php文件,它工作正常。 (我可以看到JSON類型的數據和鉻)

這裏是我的代碼

由於提前,

//php 
$result = mysql_query($sql, $connect); 
if($result) { 
    $rows = array(); 
    while($r = mysql_fetch_assoc($result)) { 
     $rows[] = $r; 
    } 

    echo json_encode($rows); 
} 
else{ 
    echo false; 
} 
mysql_close($connect); 

,這裏是java的

public static JSONArray post(String url, RequestParams params) { 
    client.post(getAbsoluteUrl(url), params, new JsonHttpResponseHandler(){ 
    @Override 
    public void onSuccess(JSONArray data) { 
      // TODO Auto-generated method stub 
       HTTPRESPONSE = data; 
       Log.v("OWL", "GOT JSON FROM php"); 
     } 
    }); 
    return HTTPRESPONSE; 
} 

回答

0

的client.post通話似乎是異步的,因此在返回並設置數據之前會發生「返回HTTPRESPONSE」。

您應該提供一個回調函數或主函數接口,並在onSuccess調用中調用它。

+0

其實,我使用這個庫這個http://loopj.com/android-async-http/和我複製並粘貼示例代碼 – Joseph

相關問題