我有想法抵擋了我目前的應用程序。 我有兩個選項卡此TabHost類。 Tab1顯示來自Listview中WS的數據。表2顯示了與webview中圖表相同的數據。androids putExtra
當然,我寧願不要爲相同的數據調用同一個webservice兩次,所以我正在考慮在TabHost類中執行WS調用,然後使用putExtra將這些數據作爲JSONArray發送到我的選項卡。
這是可能的還是簡單的愚蠢? Regards
我有想法抵擋了我目前的應用程序。 我有兩個選項卡此TabHost類。 Tab1顯示來自Listview中WS的數據。表2顯示了與webview中圖表相同的數據。androids putExtra
當然,我寧願不要爲相同的數據調用同一個webservice兩次,所以我正在考慮在TabHost類中執行WS調用,然後使用putExtra將這些數據作爲JSONArray發送到我的選項卡。
這是可能的還是簡單的愚蠢? Regards
看看這個video,談論製作WebService調用和RESTful客戶端。
作爲一般原則,從Activity或主UI線程進行WS調用是一個壞主意。當網絡速度較慢或Web服務需要時間響應時,很有可能獲得ANR(應用程序無響應)。
JSON用於進行WebService調用,並且使用應限制爲該層。雖然沒有什麼能阻止你使用JSON傳遞數據,但我認爲它是一種反模式或黑客行爲。
建議這樣做的方法。
將您的webservice放入一個IntentService類(這將確保UI線程不會阻止)。
將響應轉換爲Parcelable對象並通過意向將其發送回活動。
您可以在intent.putExtra中使用此Parcelable對象來傳遞它。
雖然這聽起來像很多工作,但它更清潔,以後會爲您節省很多痛苦。另外,關於IntentService和Parcelable的文檔有點簡單,所以你必須在StackOverflow上進行一些搜索才能正確使用它。
聽起來對我來說很合理。試一試!爲什麼不? – MatrixFrog 2011-02-23 08:09:44
謝謝,我認爲是合理的:) 我會給它一個鏡頭,我不確定可以通過putExtra發送什麼,以及多少.. – elwis 2011-02-23 08:21:58