我想寫一個從sqlite數據庫到android活動的回調。目前我從Web服務插入一些數據到數據庫,然後將其設置爲列表視圖。 我在後臺運行一項服務,它將不斷檢查新數據。如果有新數據,它將更新數據庫。 我的問題是如何定義從sqlite到activity的回調onupdate。如何定義從SQLITE到Android的回調活動
任何幫助將不勝感激。
我想寫一個從sqlite數據庫到android活動的回調。目前我從Web服務插入一些數據到數據庫,然後將其設置爲列表視圖。 我在後臺運行一項服務,它將不斷檢查新數據。如果有新數據,它將更新數據庫。 我的問題是如何定義從sqlite到activity的回調onupdate。如何定義從SQLITE到Android的回調活動
任何幫助將不勝感激。
你應該能夠通過觀察者模式獲得結果。 您的活動將實施自定義界面,如RefreshableOnDBUpdateTrigger ,其中您將使用標準數據庫查詢機制從數據庫重新加載數據。
在您的數據庫更新類中,您可以調用RefreshableOnDBUpdateTrigger.update()方法,它基本上是您的活動實例的方法,它從數據庫中提取更新的數據。
請參閱觀察者模式瞭解實施細節。
觀察者模式是明顯的選擇,但必須注意確保活動仍然活動,如果後臺服務設置爲超時活動。在這種情況下,它需要在嘗試調用回調之前檢查活動是否還活着。 –
這將需要用戶定義的函數,這是Android數據庫框架不支持的。
您必須在數據庫訪問代碼中明確調用這些回調。
接口回調的另一個選擇是使用Event Bus。 DB代碼獲取數據,然後用數據發佈事件。任何註冊課程都將收到該活動。
閱讀關於'ContentProvider' /'ContentResolver' – pskink