私はlistview.nowを作成しました。リストビューのアンドロイド(電話帳)の連絡先リストからデータ(連絡先番号、名前)を表示します。 私はアンドロイド1.5のためにそれを手に入れましたが、私はandroid2.1updatedのためにそれをしたいと思います。android 2.1の私の別個のlistviewのアンドロイドの連絡先リストのデータを取得する方法は?
どのようにすればいいですか?誰かが私を案内したり、サンプルコードを書いたりできますか? ありがとうございます---
私はlistview.nowを作成しました。リストビューのアンドロイド(電話帳)の連絡先リストからデータ(連絡先番号、名前)を表示します。 私はアンドロイド1.5のためにそれを手に入れましたが、私はandroid2.1updatedのためにそれをしたいと思います。android 2.1の私の別個のlistviewのアンドロイドの連絡先リストのデータを取得する方法は?
どのようにすればいいですか?誰かが私を案内したり、サンプルコードを書いたりできますか? ありがとうございます---
あなたは1.5でそれを達成している場合は、URIの小さな違いがあることができます。あなたは2.1の連絡先の更新された/変更されたURIのために行く必要があります。さらに理解を深めるために、2.1アップデートのサンプルコードを次に示します。
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
while (cur.moveToNext())
{
String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
//---------------------------------------- Contact Names
//------------------------------------------------------
String DisplayName = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
Cursor names = cr.query(ContactsContract.Data.CONTENT_URI, null,ContactsContract.Data.CONTACT_ID + " = " + id, null, null);
names.moveToNext();
String GivenName = names.getString(names.getColumnIndex(ContactsContract.Data.DATA2));
String FamilyName = names.getString(names.getColumnIndex(ContactsContract.Data.DATA3));
String MiddleName = names.getString(names.getColumnIndex(ContactsContract.Data.DATA5));
names.close();
//----------------------------------------- Phone Numbers
//-------------------------------------------------------
String hasPhoneNumber = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
if (hasPhoneNumber.equals("1"))
{
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ id,null, null);
while (phones.moveToNext())
{
......
}
}
} // AND SO ON.... Get which ever data you need.
上記のコードは、私の仕事に使用したサンプルコードです。それに応じて変更を加えることで、必要なものを手に入れることができます。私はそれが助けて欲しい
これは連絡先を取得するのに役立ちます。特定の連絡先の電話番号を取得するための
Cursor contactList = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null, null,null, null);
、あなたが使用する必要があります。
String id = contactList.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
Cursor phoneCursor = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
new String[]{ContactsContract.CommonDataKinds.Phone.NUMBER},
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
new String[]{id}, null);
どのコードを試しましたか? – Hiral