2013-12-07 2 views
1

Я работаю над простым приложением для Android, которое хранит объекты в массиве и отображает их пользователю через listview. Каждый объект содержит фотографию и одно текстовое поле. Для демонстрационных целей я хотел бы предварительно заполнить этот массив некоторыми жестко закодированными объектами.Android: картинки с жесткими кодами

Проблема заключается в том, что изображения обычно приобретаются через интерфейс камеры, и каждый объект сохраняет только путь к этому изображению. Я могу добавить hardcoded изображения как drawables, но тогда у них нет пути к файлу. Я мог бы, когда приложение будет инициализировано, конвертировать чертежи в растровые изображения и сохранить растровые изображения на SD-карту, но это кажется слишком сложным, чтобы быть правильным ответом ...

Любые идеи о наилучшем способе получения этих изображений в хранения файлов, чтобы я обращался к ним через их URI?

Спасибо!

+0

попробуйте сохранить их в папке с вашими активами вместо чертежей – vandus

ответ

0

При создании представлений в адаптере, имеет ImageView в макете и использовать загрузчик или пользовательские AsyncTask, чтобы загрузить изображение в фоновом режиме и его обновление экземпляра ImageView, когда он имеет данные.

0

проверить фон от this при загрузке изображений из сети.

Вы приобретаете изображения с камеры, но обратите внимание, что когда вы выбираете ресурс, где mimetype = img/*, селектор просто объединяет местную камеру (галерею) с другой фотографией, контент-провайдерами. Пример общего выбора для фотографий находится в «Evernote», где вы переходите к представлению композитора с помощью сетки 2X2 и касаетесь значка «вложения» ... это выбор фотографии ...

Другими словами, это помогает понять общую практику управления фотографиями и представить их в imageViews.

Как правило, есть lazyLoader, который имеет интерфейс с args для imgView и URI источника изображения. Под обложками при вызове функции loadImage (view, uri) реализация проверяет следующее:

- это растровое изображение уже в memCache?

локальный файл, который поддерживает растровое изображение, существует ли он в папке, зарезервированной для этой цели?

Если не указано выше, перейдите в массив байтов для img по всей сети (или в вашем случае, получите байты с камеры).

Несмотря на то, что ваш вопрос немного отличается, IMO, стандартные методы для изображений могут применяться, и вы можете захотеть адаптировать одну из многочисленных библиотек для представления изображений к вашим конкретным требованиям.

Смежные вопросы