2016-08-17 20 views
0

我想寫一個從sqlite數據庫到android活動的回調。目前我從Web服務插入一些數據到數據庫,然後將其設置爲列表視圖。 我在後臺運行一項服務,它將不斷檢查新數據。如果有新數據,它將更新數據庫。 我的問題是如何定義從sqlite到activity的回調onupdate。如何定義從SQLITE到Android的回調活動

任何幫助將不勝感激。

+1

閱讀關於'ContentProvider' /'ContentResolver' – pskink

回答

0

你應該能夠通過觀察者模式獲得結果。 您的活動將實施自定義界面,如RefreshableOnDBUpdateTrigger ,其中您將使用標準數據庫查詢機制從數據庫重新加載數據。
在您的數據庫更新類中,您可以調用RefreshableOnDBUpdateTrigger.update()方法,它基本上是您的活動實例的方法,它從數據庫中提取更新的數據。
請參閱觀察者模式瞭解實施細節。

+1

觀察者模式是明顯的選擇,但必須注意確保活動仍然活動,如果後臺服務設置爲超時活動。在這種情況下,它需要在嘗試調用回調之前檢查活動是否還活着。 –

0

這將需要用戶定義的函數,這是Android數據庫框架不支持的。

您必須在數據庫訪問代碼中明確調用這些回調。

0

接口回調的另一個選擇是使用Event Bus。 DB代碼獲取數據,然後用數據發佈事件。任何註冊課程都將收到該活動。