2011-05-31 223 views
0

/**開始僞代碼**/此Android應用程序是否需要Service/IntentService?

1)經過指定的延遲後,應用程序向藍牙設備請求數據。

2)應用程序保存並分析數據。 3)如果分析結果不正常,應用程序會發出警報並返回步驟1),延遲時間會縮短。

否則,應用程序照常返回到步驟1)。

/**僞結束**/

我現在有一個執行的工作是利用定時器與TimerTask各種延遲後,分析一些數據,.txt文件反覆。稍後在應用程序的開發中,數據將從藍牙設備接收(Android模擬器不支持藍牙)。

我不能讓主UI線程忙於處理這個東西 - 我需要某種形式的異步(多線程)方法(即TimerTask)。

即使用戶切換到另一個應用程序,我也需要此分析過程繼續。

我需要使用Service/IntentService來確保藍牙接收&分析過程保持活動狀態嗎?

作爲一名初學Android開發人員,我很感激您對此主題的任何建議。我目前正在嘗試瞭解ServicesIntentServices

+0

我也想知道是否有任何替代解決方案的服務。 – 2011-05-31 18:53:41

回答

1

是的,服務的設計正是爲此而設計的:異步任務可能需要很長時間並且即使在活動關閉時也需要保持運行。

+0

感謝您的回覆。你知道我將如何去修改我的代碼來實現服務? – 2011-05-31 19:02:59

+0

[This](http://developer.android.com/guide/topics/fundamentals/services.html)很清楚地解釋了一切。 – trutheality 2011-05-31 19:05:20

+0

謝謝 - 我會更多地閱讀鏈接,並可能及時接受您的答案。 – 2011-05-31 19:10:33

2

如果您正在嘗試瞭解Service和IntentService,我會建議您查看this post和相關帖子。它比較了Android中的各種任務執行機制,並提供了何時使用什麼的粗略指導。

+0

謝謝你的回答 - 比較表對我特別有用。我注意到你也提到了服務/意向服務和主要活動之間的溝通。這也是我需要實施的。 – 2011-05-31 19:29:19

0

我在過去使用服務讀取藍牙數據時完成了類似的任務。您可能需要考慮使用無頭服務。該服務即使在您轉到其他應用程序時以及您返回時與您的活動綁定也會運行。

相關問題