2012-08-01 11 views
5

Chcę utworzyć pojedynczy Kursor zawierający zarówno imię, nazwisko, jak i numer telefonu. Te kolumny nie są umieszczone razem w żadnym z kontenerów dostępnych w aplikacji Kontakty. Jedynym sposobem, w jaki udało mi się uzyskać te informacje, jest najpierw uzyskanie kursora dla nazw, a następnie uzyskanie numerów telefonów poprzez utworzenie osobnego kursora dla każdego kontaktu. To rozwiązanie zmusza mnie do odczytu danych do lokalnej struktury danych zamiast używania adaptera na kursorze i nakłada dużo na wydajność (około ~ 5 z ~ 140 kontaktami z numerami telefonów).Uzyskiwanie POJEDYNCZEGO kursora z pełną nazwą i numerami telefonów

Czy istnieje sposób utworzenia dwóch kursorów, a następnie dołączenia do tabel? Czy jest jakiś inny sposób? Mam problem z tym pytaniem przez ostatnie dwa dni i przeczytałem o wszystkim, co znalazłem w Google, ale tak naprawdę nie mogę uzyskać niczego działającego tak jak ja chcę. To naprawdę nie może być niemożliwe, czy nie?

Z góry dzięki!

Odpowiedz

0

Możesz uzyskać DISPLAY_NAME i NUMBER od ContactsContract.CommonDataKinds.Phone. Wypróbuj to:

Uri uri = Phone.CONTENT_URI; 
String[] projection = new String[] 
       {Phone.DISPLAY_NAME, Phone.NUMBER, Phone.CONTACT_ID, Phone._ID} 
Cursor contactsCursor = getContentResolver().query(uri, projection, null, null, null); 
Powiązane problemy