2011-08-28 45 views
1

我試圖使用Android連接到SOAP服務,並閱讀了SO以及其他有關使用kso​​ap2的網站。將SOAP與Android實施建議結合使用

我也一直在閱讀Android中的Action,這表明UI線程中任何長時間運行的代碼(> 5秒)都應該在Handler或者Service中完成。對於何時使用這些內容有什麼建議,而不是在活動內部使用它們。 SO和Internet上的許多示例都在Activity內部(在生命週期方法或事件處理程序中)進行SOAP處理,但就我而言,我知道有一些SOAP方法需要超過5秒。

何時使用Android Handler或Services的任何指示或建議都會非常有幫助。

回答

2

如果UI取決於同一時間的響應,那麼我建議您使用AsyncTask類。 AsyncTask是爲這種長期操作而設計和推薦的。假設服務器的響應與用戶界面密切相關,而不是在該長時間操作正在進行時不要將用戶界面凍結。

您可以在doInBackground()方法,該方法將在後臺線程運行做這些長事務,必須注意,在這種方法中,你不能更新UI,並在onPostExecute()/onProgressUpdate()您更新來自服務器的響應的UI 。

瞭解更多關於AsynTask如果你還沒有被引入alread,在這裏:

http://developer.android.com/reference/android/os/AsyncTask.html

不要忘記介意Threading Rules

0

看一看this爲的AsyncTask的例子。

我建議您在開始實施之前,先正確引用AsyncTask的Android開發者頁面。

所有最優秀的

乾杯