Как загрузить ImageView из файла png?

Я делаю снимок с помощью камеры, используя

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE ); startActivityForResult( intent, 22 ); 

Когда действие завершается, я пишу растровое изображение в файл PNG.

  java.io.FileOutputStream out = openFileOutput("myfile.png", Context.MODE_PRIVATE); bmp.compress(Bitmap.CompressFormat.PNG, 90, out); 

Это нормально, и я вижу, что файл создается в моем личном пространстве данных приложения.

У меня возникают трудности, когда я позже захочу отобразить это изображение с помощью ImageView.

Может ли кто-нибудь предложить код для этого?

Если я попытаюсь создать файл с разделителями путей внутри, он терпит неудачу. Если я попытаюсь создать Uri из имени без разделителей, это не сработает.

Я могу открыть файл OK, используя:

  java.io.FileInputStream in = openFileInput("myfile.png"); 

Но это не дает мне Ури, мне нужно установить изображение с помощью

  iv.setImageURI(u) 

Описание: У меня есть изображение в файле png в частных приложениях. Каков код для установки в ImageView?

Благодарю.

Solutions Collecting From Web of "Как загрузить ImageView из файла png?"

Попробуйте BitmapFactory.decodeFile() а затем setImageBitmap() в ImageView .

Также возможно:

 java.io.FileInputStream in = openFileInput("myfile.png"); iv.setImageBitmap(BitmapFactory.decodeStream(in)); 
 iv.setImageURI(Uri.fromFile(in)); 

Почему бы не так:

 ImageView MyImageView = (ImageView)findViewById(R.id.imageView1); Drawable d = Drawable.createFromPath( PATH TO FILE ); MyImageView.setImageDrawable(d); 
 bitmap = BitmapFactory.decodeFile(imageInSD); 

Не должно быть разницы между decodeStream () и decodeFile () . DecodeFile () открывает входной поток и вызывает decodeStream (). На это уже ответили по этой ссылке