0

我是android開發新手,無法理解我應該如何使用service's以及更具體哪種。我正在開發一個簡單的系統,只會對事物做些事情。其中之一就是不斷詢問服務器簡單的telnet問題。應該在屏幕上提示這些問題的答案。如何使用Android中的服務功能

所以簡化我的問題。我應該選擇哪種服務?綁定,intent service等?

我相信它,因爲它是假設做網絡通訊來運行自己的線程,所以我應該怎麼做。

最後,也是最重要的,我怎麼供/給MainActivity服務已收集到的信息,並張貼在屏幕上?

回答

1

我應該提供什麼樣的服務?綁定,intentservice等?

綁定服務只在另一個應用程序組件綁定到它時才運行。換句話說,如果某個活動綁定到該服務,並且該活動稍後完成,該服務也會被銷燬。
因此,首先決定你想要的服務的行爲。當綁定到它的活動被破壞時,你是否希望它被銷燬?如果是的話,那麼也許一個綁定的服務是做的,如果沒有則使用開始服務,而不是它可以在後臺運行下去,即使啓動它的成分被破壞了正確的事情。

我認爲它必須運行自己的線程,因爲它假設做網絡 comm,所以我應該怎麼做。

是的,你說得對。您可以使用Service類並創建裏面的線程會做繁重的工作,或者,你可以通過使用IntentService它提供了自己的工作線程事情簡單化。

最後也是最重要的是,我該如何提供/給予MainActivity 服務收集的信息?

如果您決定使用約束Service,那麼您將能夠通過所謂的綁定器對象與服務進行通信。在另一方面,如果你去IntentService那麼你可以使用一個ResultReceiver,或BroadcastReceiver將結果發送回。

推薦閱讀:
http://developer.android.com/guide/components/services.html
http://developer.android.com/guide/components/bound-services.html

0

這裏是安卓上的服務簡單總結,希望這將在決定去什麼辦法幫助。讀取Android Services強烈建議

的Android服務

  • 「A服務是可以執行長時間運行在後臺 操作,並且不提供用戶界面應用程序組件」
  • 在主運行(UI)應用程序線程。
  • 它被賦予過度活動偏好終止時資源 低
  • 它不打算直接與活動/片段(一個活動可在任何時間被破壞),由於以上沒有簡單的回調能力交互..但是有一些方法可以解決這個問題,使用Intents,Handlers和Messages
  • 一個活動可以綁定到一個服務,其中 基本上給了一個服務的實例來調用方法,這些方法會運行在主線程上,使用單獨線程的方式是使用Executors
相關問題