2010-11-02 28 views
0

我已經創建了一個應用程序,我已經擴展了一個Activity並使用Asynctask從Web Service成功獲取響應,現在我想對另一個接收的響應進行Json解析除主要活動以外的課程。將一個類的響應用於另一個

怎麼能這樣做?我如何在一個單獨的類中使用接收到的主要活動的響應,因爲在下一個類中,我只是想使用從主類獲得的響應來進行解析。

任何人都可以請給我這個答案!

感謝, 大衛

回答

1

您可以通過傳遞給其構造函數或傳遞任何函數參數來將值發送給另一個類。

或者,如果你想要的值傳遞給的AsyncTask類

public class abc extends Activity { 

new AsynctaskClassName.execute(response);  
} 

而且的AsyncTask將

public class AsynctaskClassNameextends AsyncTask <String, String, String> { 
protected Z doInBackground(String... res){ 
... 
    response = res[0] 
... 
} 

還是要價值傳遞給另一個意圖,它能夠更好地通過

Intent.putExtra("response", response); 

and

Bundle extras = getIntent().getExtras(); 
String response = extras.getString("response"); 
0

您可以簡單地創建一個新的類

public class Parser 
{ 
public static String rawJSON; 
.... 
} 

現在,在您的AsyncTask在Parser.rawJSON簡單地存儲JSON響應這樣

protected Z doInBackground(X...x){ 
... 
Parser.rawJSON=responseFromServer(URL); 
... 
} 

&你完成了!

+0

我已經得到了來自Web服務的響應在這樣的AsyncTask我onPostExecute方法: 保護無效onPostExecute(字符串結果) \t { \t \t的System.out.println(「輸出響應:---- - >「+結果); \t} – 2010-11-02 06:46:44

+0

我可以直接在任何地方使用Result變量嗎? – 2010-11-02 06:48:58

+0

@david Nope,在解析器類中使用你的結果use:void onPostExecute(String result){System.out.println(「Output Response:----->」+ result); Parser.rawJSON =結果} – 100rabh 2010-11-02 07:40:26

相關問題