私はAndroidとプログラミング全般に比較的慣れていないので、連絡先/人アプリの機能をエミュレートするアプリを作成しようとして練習しています(連絡先を表示します)。私は調査に時間を費やしましたが、ContactsContract の仕組みを理解するのに苦労しています。
メール、電話番号、住所などの連絡先情報にアクセスする方法がわかりません。ContactsContract.Contacts から contact _id または lookup_key (どちらが優れているかはわかりません) を取得できることは知っていますが、その特定の集約された連絡先のコンパイルされたすべての情報を取得するには、それに関連付けられているすべての生の連絡先を調べなければならないことを意味します。それは非効率的で複雑に思えます。たとえば、「ContactsContract.Contacts.Data.(その集約された連絡先に関連付けられたデータ)」など、1 つの場所からすべての情報にアクセスする方法はありますか?
余談ですが、「ContactsContract.Contacts.Data」テーブルが存在する場合、そのデータを直接変更 (つまり、新しい電話番号を追加したり、電子メールを削除したり) することは可能でしょうか? 連絡先に情報を追加する方法についてはほとんど、またはまったく調査していないので、これは実際には非常に簡単かもしれませんが、私には手がかりがありません。