Лучший (самый эффективный) способ получить фотографию контакта в Android - PullRequest
1 голос
/ 25 апреля 2011

Я извлекаю информацию из контактов и хочу отобразить связанную фотографию (если она есть).Кажется, есть несколько способов сделать это:

  1. Получить идентификатор пользователя, а затем:

    Uri uri = ContentUris.withAppendedId (ContactsContract.Contacts.CONTENT_URI, id);
    InputStream input = ContactsContract.Contacts.openContactPhotoInputStream (context.getContentResolver (), uri);

  2. Вы можете получить PHOTO_ID пользователя.Я не копался в точных шагах, но, вероятно, есть способ использовать PHOTO_ID для получения фотографии.

  3. Там также есть PHOTO_URI, и, опять же, я предполагаю, что есть способиспользовать это, чтобы получить фотографию.

Прямо сейчас, мой код использует метод 1, и он работает просто отлично.Что мне интересно, так это: метод 2 или 3 (или тот, о котором я не читал) быстрее / эффективнее?Я, естественно, хочу сделать свое приложение максимально быстрым.Любой совет будет оценен.

1 Ответ

0 голосов
/ 06 августа 2011

Документация для ContactsContract.Contacts.Photo содержит некоторый пример кода, но мое предположение состоит в том, что это в значительной степени то, что openContactPhotoInputStream делает для вас.

...