アンドロイドに連絡先のIDを保存する「正しい」方法

私は、連絡先のピッカーを使用して、連絡先の詳細を保存するアプリを市場に出しています。私がコンタクトピッカーから戻ったとき、私はコンタクトを取るために以下を使っていました:

cursor.getColumnIndex(ContactsContract.Contacts._ID)

私は、誰かが新しいROMを点滅させるか、新しい電話機を入手してからすべてのIDが変更されるまで、これを使用することはOKです。

私はアンドロイドのドキュメントを見てきましたが、ContactsContract.Contacts.LOOKUP_KEYの使用についての参照を見てきましたが、その説明は私に混乱します。 "aの結果として行IDが変更された場合、連絡先を見つける方法のヒントを含む不透明な値同期または集約」

だから私は連絡先IDを保存するために使用する必要がありますか?

1
おそらくあなたのアプリのためのローカルデータベース?点滅する前にバックアップしますか?
追加された 著者 Sergey Benner,

1 答え

ルックアップキーは連絡先の正しい参照です。

連絡先のプロバイダ/連絡先:

ContactsContract.Contactsテーブルには、LOOKUP_KEY列もあります。   連絡先行への「永続的な」リンクです。連絡先   プロバイダは自動的に連絡先を管理し、連絡先を変更する可能性があります   集計または同期に応答して行の_ID値たとえ   コンテンツURI CONTENT_LOOKUP_URIと連絡先の組み合わせ   LOOKUP_KEYは引き続き連絡先の行をポイントしますので、   LOOKUP_KEYを使用して「お気に入り」の連絡先などへのリンクを維持します。   この列には、独自の形式があります。   _ID列。

1
追加された