2016-09-04 7 views
2

外部で行われた変更はどうすれば確認できますか?サービスや放送受信機を介して?Android、OrmLite - daoの外部変更を観察

私はこのように聞く:

myDao.registerObserver(this); 

そしてときに、サービスや放送受信機におけるDBの変更、呼び出されませんvoid onChange()方法。彼らは、例えば、外部で作られていた場合、私はOrmLite v5.0では

答えて

0

を使用しています

はどうやって変化を観察することができますサービスや放送受信機を介して?

ORMLiteオブザーバは、同じインスタンスへのコールを監視する場合にのみ機能します。 ORMLiteが他のメカニズムを介して何らかの形でデータベースコールを傍受して報告する方法はありません。それは本当にあなたが求めているものですか?

新しい行や既存の行の変更を検出するためにデータベースに定期的にクエリを実行できますが、コストがかかるようです。 lastModifiedフィールドを現在の時刻に更新するようにエンティティを設定しておくと、簡単に設定できます。

追加の解決策は、データベースプロキシのようなものかもしれません。他の解決策は、他のデータベース更新が行が更新されたときに何らかの種類の帯域外通知を送信することです。

これが役に立ちます。

関連する問題