2011-07-20 17 views
0

我是新來的android和我寫了一個程序,顯示的Android用戶的位置,並通過網絡服務發送到服務器。在我的應用程序中,我想讓它在後臺運行,同時在屏幕上顯示名稱和其他進程列表。我搜索了這個,發現服務可以在後臺運行,我想知道是否有人對如何將其轉化爲服務有任何建議?如何在android中將活動轉換爲服務?

回答

-1

閱讀SDK中的Service類文檔,其中包含所有您想知道的內容以及示例。

1

服務不會是最好的使用。服務在後臺運行,但它們與應用程序的主UI線程在同一線程上運行。如果用戶沒有直接與應用程序交互,這很好。例如,如果您有一個將文件加載到服務器的應用程序,則可以啓動該服務的按鈕以加載該文件並關閉該應用程序的活動,同時該服務將繼續在後臺運行。加載文件後,您可以彈出通知文件已加載或關閉服務。

活動在前臺運行時運行的服務可能會阻止活動。因此,您不希望爲此使用服務,因爲在服務正在下載或將某些內容上傳到服務器時,UI不會更新。

您想要的是AsyncTask。 AsyncTask是一次性線程處理程序,可讓您在更新UI時執行高密度的工作。

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

如果你想繼續這樣做,那麼的AsyncTask可能無法正常工作。在這種情況下,您可以使用Java計時器或標準Java線程來處理連續工作。請注意,你永遠不想從UI線程以外的任何其他線程更新UI。它會最終讓你的應用崩潰。

相關問題