How to get a Bitmap object from an Uri (if I succeed to store it in
/data/data/MYFOLDER/myimage.png
or file///data/data/MYFOLDER/myimage.png
) to use it in my application?
Does anyone have an idea on how to accomplish this?
Answer
. . IMPORTANT: See answer from @Mark Ingram below and @pjv for at better solution. . .
You could try this:
public Bitmap loadBitmap(String url) { Bitmap bm = null; InputStream is = null; BufferedInputStream bis = null; try { URLConnection conn = new URL(url).openConnection(); conn.connect(); is = conn.getInputStream(); bis = new BufferedInputStream(is, 8192); bm = BitmapFactory.decodeStream(bis); } catch (Exception e) { e.printStackTrace(); } finally { if (bis != null) { try { bis.close(); } catch (IOException e) { e.printStackTrace(); } } if (is != null) { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } } return bm; }
But remember, this method should only be called from within a thread (not GUI -thread). I a AsyncTask.