2016-09-04 4 views
2

Wie kann ich Änderungen beobachten, wenn sie extern vorgenommen werden, z. in einem Dienst oder über einen Rundfunkempfänger?Android, OrmLite - Externe Änderungen von Dao beobachten

Ich höre wie folgt aus:

myDao.registerObserver(this); 

Und wenn die db Änderungen im Service oder in einem Rundfunkempfänger, wobei das Verfahren void onChange() nicht genannt bekommt.

I OrmLite v5.0

Antwort

0

bin Wie kann ich beobachten Veränderungen, wenn sie von außen vorgenommen werden, z.B. in einem Dienst oder über einen Rundfunkempfänger?

Der ORMLite-Beobachter funktioniert nur bei der Überwachung von Aufrufen an die gleiche myDao Instanz. Es gibt keine Möglichkeit für ORMLite, Datenbankaufrufe irgendwie über andere Mechanismen abzufangen, um über sie zu berichten. Ist das wirklich was du fragst?

Sie könnten periodische Abfragen an Ihre Datenbank durchführen, um neue Zeilen oder Änderungen an bestehenden Zeilen zu erkennen, aber das erscheint teuer. Sie können Ihre Entitäten natürlich so konfigurieren, dass sie ein lastModified Feld mit der aktuellen Zeit aktualisieren, um es einfacher zu machen.

Eine zusätzliche Lösung könnte eine Art von Datenbank-Proxy sein. Andere Lösungen würden für die anderen Datenbankaktualisierungen sein, die eine Art von Out-of-Band-Benachrichtigung senden, wenn Zeilen aktualisiert werden.

Hoffe, das hilft.

Verwandte Themen