0

私の Android アプリケーションには、データベース テーブル A にレコードを挿入するサービスがあり、データベース テーブル A に新しいレコードが挿入されるたびに何らかの操作を行う必要があります。

ContentObserver を使用してテーブル A を継続的に観察するにはどうすればよいですか? CallLogs と Contacts URI を観察するために行っているように、テーブル A で変更が発生したときに通知を受け取るには、どの URI を指定すればよいですか?

4

2 に答える 2

2

コンテンツ プロバイダーで「テーブルを監視」することはできません。SQLite データベースの変更は、Java コードをトリガーできません。

ただし、各挿入後に関心のあるすべての人に通知することができます (これは、連絡先とログ プロバイダーが行うことです)。

そう:

  • 挿入をカスタム コンテンツ プロバイダーに移動し、そのリスナーに通知できるようにするか、
  • または、より軽いものが必要な場合は、「データが変更されました」という単純なブロードキャスト インテントを送信します (そして、ブロードキャストを聞きます)。
于 2013-10-05T14:45:15.453 に答える
0

同じ方法: カスタム ContentProvider を作成して、db テーブルにアクセスします

于 2013-10-05T14:44:31.280 に答える