2013-08-22 34 views
0

我想了解在Android中用於數據庫查詢(新手)的服務的最佳使用。該服務應該啓用一個連接(通過互聯網)到一個用於從活動中查詢數據庫的數據庫。用於數據庫查詢的Service或IntentService?

我的理解是,這可以使用綁定服務來實現,即多個客戶端可以綁定到服務,每個服務都可以訪問服務的方法。但是,我不確定是否擴展Service類或其子類IntentService這種情況。

理想情況下,服務應該在服務開始時連接到數據庫一次,例如,在其onCreate方法中,並斷開服務的onDestroy方法。然後該服務將有多種方法使用此連接來查詢數據庫。

那麼,有沒有擴展Service類,並開始在onCreate一個新的線程的數據庫連接,擴展IntentService類,並開始(即IntentService啓動自己的工作線程)在onCreate連接之間的區別嗎?

當您綁定到IntentService時,它會一直保持活動狀態,直到所有活動都解除綁定爲止?

這是最好的方法嗎?

感謝

回答

0

的最自然,最推薦的方法是創建一個Content Provider。內容提供商已經實現了合理的生命週期,並解決了您嘗試從頭開始實施此類服務時肯定會遇到的許多其他問題。

+0

感謝msh。您是否可以使用內容提供者訪問服務器上的數據,即不在設備上?該服務器還有一些PHP腳本,我希望應用程序執行以返回結果。所以我不確定內容提供商是否提供解決方案,但我之前沒有使用它們。 –

+0

當然,爲什麼不呢?您可以使用內容提供程序訪問任何可以表示爲光標或文件的數據。 – msh

+0

好吧,聽起來很有趣。將不得不進一步調查。 –