我正在做的應用程序有一個列表視圖,我應該顯示在sqlite數據庫本地存儲的數據列表,但我的數據庫在後臺刷新,我想立即同步我的列表視圖中的這些更改。 非常感謝。如何在android實時同步listview和數據庫?
回答
當您的數據庫更新完成後,您可以發送一個broadcast
,並在它的接收器中更新適配器數據源並在您的列表適配器中調用notifyDatasetChanged()
刷新列表。
只要數據庫條目發生變化,您就可以使用通知,當條目發生更改時,您必須知道該通知,只需在同一時間提出通知,並在列表視圖所在的活動中添加相同的觀察者當下。
而且每當你的更新函數收到通知更新你的列表視圖(重新加載)。
創建一個可觀察類,例如這是如下:
public class TestObserver extends Observable
{
private static TestObserver instance;
public static TestObserver getSharedInstance()
{
if(instance == null)
instance = new TestObserver();
return instance;
}
public void raiseNotification(Object data)
{
setChanged();
notifyObservers(data);
}
}
Add this observer in your activity when it is created.Make sure the activity is implementing the Observer interface.
private void addObserver()
{
TestObserver.getSharedInstance.addObserver(this);
}
而且你需要,當你的活動破壞,除去觀察者。
private void removeObserver()
{
TestObserver.getSharedInstance.deleteObserver(this);
}
您需要實現一個名爲update(Observable instance,Object data)的方法。這被稱爲每當一個通知被觀察。
從其中數據庫的變化可以被確定的功能,提高通知,以便作爲
TestObserver.getSharedInstance.raiseNotification(yourObject); //可以是布爾指定數據庫是否改變與否。
thnx回答,請告訴我該怎麼做?我想我應該在我的數據庫上使用光標或類似的東西。但你的解決方案對我來說似乎很好,請給我解釋一下。日Thnx。 –
thnx回答,但這不能幫助我!我需要知道如何編寫一個算法來刷新列表視圖沒有任何滯後! –
- 1. PHP和AJAX實時數據庫同步
- 2. 如何在同一時間更新和同步數據庫表?
- 3. 如何在本地數據庫和解析在android中同步?
- 4. 如何實時同步兩個不同的mysql數據庫表?
- 5. Android數據庫同步
- 6. 同步android sqlite數據庫
- 7. 如何同步數據庫和DataGridView
- 8. 如何將android數據庫與網絡數據庫同步?
- 9. LDAP和數據庫同步
- 10. 在Android中刪除數據庫和ListView
- 11. 同步測試和實時ExpressionEngine數據庫
- 12. Android數據每天同步與數據庫同步
- 13. 如何實現異步數據庫庫?
- 14. Android AccountAuthenticator和同步服務:顯示在「同步和數據」下
- 15. 如何在Jdeveloper 12c中使用數據庫同步實體?
- 16. 正在同步數據庫和Javascript
- 17. 如何在Android中使用TabHost同步listview和mapview
- 18. 如何使Android數據庫與在線SQL Server同步?
- 19. 同步Android的SQLite數據庫和GAE數據存儲
- 20. 數據庫同步 - 最佳實踐
- 21. 如何使用事件和TCP同步數據與數據庫
- 22. 同步數據庫
- 23. 同步數據庫
- 24. 數據庫同步
- 25. 同步數據庫
- 26. Android開發:同步數據庫
- 27. Android雙向sqlite數據庫同步
- 28. 將Android與網站數據庫同步?
- 29. ListView和數據庫
- 30. Android:如何在ListView中顯示數據庫數據?
嗨和thnx。你會解釋如何做到這一點? –
@ user1290224:實現過於廣泛而無法回答,這裏在stackoverflow中有大量可以搜索的示例。把你的問題分解成小塊並尋找它,祝你好運。 –
thnx回答,但我知道,我需要更多的幫助! –