2013-03-12 4 views
0

Я знаю основы для того, как сделать снимок и установить его в ImageView.Сохранение растрового изображения камеры в хранилище и настройка изображения с помощью растрового изображения

photo = (Bitmap) data.getExtras().get("data"); 
imageView.setImageBitmap(photo); 

Я хочу сделать немного больше.

Я сохраняю его в папке на SD-карте. То, что я успешно сделал с этим:

// intent 
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file)); 
startActivityForResult(intent, CAMERA_REQUEST); 

Вот мой следующий вопрос:

Не знаете, как это сделать: То, что я хотел бы сделать следующее: В следующий раз, когда я пришел к этому Activity, Я хотел бы проверить, существует ли это изображение и назначить его этому imageView.

+0

вторую часть (с Mediastore дополнительный выход) сохранить изображение на SD, так resuslt будет null, если все идет нормально. После съемки с камеры вы должны создать растровое изображение и загрузить этот путь в качестве ресурса. Изображение может быть слишком большим для загрузки изображений, поэтому попробуйте создать для него масштабируемое масштабируемое масштабируемое изображение. – deadfish

+0

@ 100kg извините, я просто сломал это в другой вопрос! http://stackoverflow.com/questions/15373183/bitmap-not-setting-to-imageview – KickingLettuce

ответ

1

В прошлые дни я столкнулся с этой проблемой в одном из своих приложений.

Я попробую здесь, чтобы немного объяснить, что я сделал.

  1. Попробуйте сохранить полный путь изображения к области хранения или к вашим общим сообщениям.
  2. В следующий раз, если вы вызываете свою деятельность, проверьте, существует ли фотография, и если вы можете ее использовать.
  3. Подготовьте в своем xml-макете ImageView с видимостью = «нет», и если точка (2.) истинна, вы можете изменить видимость на видимую и установить изображение в представлении.
  4. Если точка (2) ложно, то перейти в режим просмотра камеры (SurfaceView) для того, чтобы сделать новый снимок
+0

Спасибо. «SharedPreferneces» был ответом. – KickingLettuce

+0

@KickingLettuce приветствую вас. благодаря –

1

Вам нужно будет использовать какое-то постоянное хранилище для ссылки на файл, чтобы проверить, существует ли он. Я бы просто сохранил его как строку в предпочтении и прочитал ее, а затем проверить, существует ли она и так далее. Достаточно легко сделать с onCreate().

+0

Как вы можете получить путь для этого? – KickingLettuce

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