我想知道如何在數據庫中更改數據時通知我。
有沒有解決這個問題?
事實是我知道如何推送並獲取數據,但我不知道如何在修改發生時得到通知當數據庫中的數據更改時收到通知
回答
如果更改數據庫中數據的責任是您的應用程序,則應該創建一個數據庫層,然後創建一些回調以通知您的應用程序數據具有插入,更新或刪除操作。
如果你使用SQLite像本地數據庫:
第一種方法,使用Android SDK的內容提供商,內容觀察者類。創建一個監視本地sqlite中某個表的內容觀察器。
http://www.grokkingandroid.com/use-contentobserver-to-listen-to-changes/
如果使用ORM,也有在ORM回調更改通知。例如GreenDao使用AsyncSession:
AsyncSession asyncSession = App.getInstance().daoSession.startAsyncSession();
asyncSession.setListener(new AsyncOperationListener() {
@Override
public void onAsyncOperationCompleted(AsyncOperation operation) {
// do whats needed
}
});
asyncSession.insert(MyObject);
如果使用Realm.IO,有來自境界交易回調,通知被更新完成。
Realm realm = Realm.getDefaultInstance();
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
MyObject myobject = new MyObject();
myobject.setId(UUID.randomUUID().toString());
myobject.setName("My object name test");
realm.copyToRealm(myobject);
}
}, new Realm.Transaction.Callback() {
@Override
public void onSuccess() {
//realm already update
Log.e("lh", "this callback i can use to notify. after save " + realm.allObjects(MyObject.class).size());
realm.close();
}
});
在後端的長度。
如果更改在後端。一個可能的解決方案是發送推送通知並開始在應用程序中執行後臺服務。
在這個URL中,你有一個PHP腳本來執行推送通知到谷歌雲。
https://gist.github.com/prime31/5675017
您必須附上谷歌雲推送通知接收器在你的Android應用,並創建一個特定的服務,將做一個HTTP請求,如果你有一個REST端點暴露你的數據庫下載新的數據。
這是一個外部應用程序,它將更新數據,因此我不知道我是否使用了您的想法? –
你說數據在你的後端,並且是mysql,所以服務器應該在應用程序後臺端顯示應用程序。我附上一個解決方案。 –
最簡單的方法是在數據庫中保留一行並在數據更改時更新其值。
- 1. 數據庫更改時收到通知Android
- 2. 數據庫更改時通知
- 3. 當oracle數據庫發生更改時發出通知
- 4. 當Firebase數據庫更改值時創建推送通知
- 5. 通知數據庫更改的用戶
- 6. 數據庫更改DB2的通知?
- 7. 在Oracle中使用BizTalk Server接收數據庫更改通知
- 8. Eclipse鏈接數據庫更改通知
- 9. 關於數據庫更改的實時更新通知MYSQL PHP
- 10. 如何通知Java程序數據庫的數據已更改
- 11. 收聽MySQL中的數據庫更改
- 12. 當更新Firebase數據庫時發送通知更新
- 13. 當我的數據庫更新時通知我的WCF服務
- 14. 當數據庫更改數據時更新視圖
- 15. 數據庫發生變化時收到通知c#
- 16. 數據庫事務通知的變化,當使用數據庫鏈接時沒有任何更改
- 17. Android Studio通知:如何僅在Firebase數據庫中的數據更改時運行通知
- 18. 使用Oracle數據庫更改通知檢測更改
- 19. Mysql數據庫更改狀態時使用Push.js推送通知
- 20. 數據庫更改通知到Windows服務?
- 21. 如何在android數據庫中插入數據時接收通知
- 22. 如何在數據庫中的數據更改後通知content-resolver?
- 23. 收到通知時更新當前UI
- 24. 當數據庫中的數據發生更改時,LINQ to SQL不會更新
- 25. 接收有關任何數據更改的通知
- 26. 更改推送通知的數據
- 27. 當收到郵件時更新mysql數據庫
- 28. 根據數據庫值更改發送通知
- 29. Android中的後臺服務,生成數據庫更改通知
- 30. Sybase中的數據庫/對象/查詢更改通知
它可以使用廣播接收器完成! –
我使用的是由php腳本鏈接的mysql數據庫,因此我不知道我是否可以使用廣播接收器 –