Sumit Patel Sumit Patel - 19 days ago 4
Android Question

Bitmap is returning null from BitmapFactory.decodeFile(filename)

When I am calling this function there is no image in image view

bitmapFactory.decodefile(filename)
showing null .. please help for this.

Here is my code :

public Bitmap ShowImage(String imageName,String userImageName )
{

File sdcard_mainDirectory = new File(Environment.getExternalStorageDirectory(),"UserImages").getAbsoluteFile();

File file = new File(sdcard_mainDirectory, userImageName).getAbsoluteFile();

if (file != null) {

try {

String imageInSD = "/sdcard/UserImages/"+userImageName;

Bitmap bitmap = BitmapFactory.decodeFile(imageInSD);

return bitmap;

}
catch (Exception e) {

e.printStackTrace();
}

}

return null;

}

Answer

Hi it is null because may be the image size is big and getting exception please check your log and see is there any error of outofmemory bitmap if yes then use options for that:

BitmapFactory.Options options;

try {
  String imageInSD = "/sdcard/UserImages/" + userImageName;
  Bitmap bitmap = BitmapFactory.decodeFile(imageInSD);
  return bitmap;
} catch (OutOfMemoryError e) {
  try {
    options = new BitmapFactory.Options();
    options.inSampleSize = 2;
    Bitmap bitmap = BitmapFactory.decodeFile(imageInSD, null, options);
    return bitmap;
  } catch(Exception e) {
    Log.e(e);
  }
}
Comments