2011-12-10 69 views
0

我有一個應用程序每隔一段時間更新一次數據庫,但是一旦我關閉了應用程序或切換活動,它就會停止更新。我假設使用服務類將會幫助解決這個問題,但我不知道服務如何刷新我的活動或只是更新數據庫。我的問題是如何使用服務來更新我的數據庫?如果它幫助我的數據庫將三個字符串拉入用戶輸入的數據庫中。在後臺更新數據庫

回答

0

是的,使其持續運行的最佳解決方案是將任務置於服務中。

現在至於你的視圖更新,你使用的是什麼API級別?如果您使用的是3.x +,那麼您可以查看加載器,因爲這些將在數據庫更改時立即更新您的視圖。

對於所有其他API級別,一種解決方案是將活動註冊爲您服務的偵聽器。只要服務完成數據庫更新,就會向該服務的所有已註冊偵聽器發送消息。但是,當你這樣做時,你將不得不確保你將活動註冊爲onResume中的監聽器,並在onPause中取消註冊以避免任何空指針的情況。

+2

您可以使用IntentService。通過三個字符串作爲額外。您可以啓動多個意圖,並且它們將連續執行;更新將堆棧在FIFO隊列中,並按提交順序更新數據庫。 IntentServices會自行停止,因此您的應用可以退出,並且會繼續運行。 –