1

電話の連絡先 (名前と電話番号) をアプリの contentProvider の「連絡先」と同期したいと考えています。そこで、ContentOberver と SyncAdapter の 2 つの方法を検索して見つけました。

私の場合、Internt との接続は必要ないため、アプリのデータベースとのみ同期します。ユーザーが自分のデータベースでも削除したい連絡先を削除した場合、更新または挿入についても同じです。

この場合、ContentObserver がより良い方法でしょうか?

連絡先のキーを知る方法はありますか? db の行のキーのようなものです。はいの場合、データベースを頻繁に更新できます (ユーザーは時間を選択できます)。

4

1 に答える 1

0

アプリケーションの連絡先としてフラグが設定されている連絡先を追加する場合は、同期アダプターが必要です。同期アダプターを追加しない場合、連絡先は表示されません。同期アダプターを追加するときは、オーセンティケーターも必要になります。ユーザーに何も尋ねることなく、常に同じユーザーを追加するダミーのオーセンティケーターを使用できます。考慮する必要があるのは、インターネット接続がない場合、同期アダプターがトリガーされないことです。このため、データに何か変更があった場合は、同期を手動でトリガーする必要があります。

あなたが説明したことと同様のことをするために、私は同期アダプター、私も直接トリガーするシンクロナイザー、およびたとえばユーザーがネイティブアドレス帳の連絡先を削除したときを知るための ContentObserver を開発しました。

同期が一方向のみの場合は、アプリケーションから挿入/変更する必要がないことを意味し、同期アダプターは必要ありません。

于 2012-07-23T17:07:58.267 に答える