안드로이드에서 Uri로부터 비트맵을 추출하는 방법


Uri에서 비트맵 객체를 받아오려면 어떻게 해야하죠? 받아와서 비트맵을 저장할 경우 /data/data/MYFOLDER/myimage.png 나 file///data/data/MYFOLDER/myimage.png 이 두 경로를 사용할것 같은데

여러가지 방법을 시도해봤는데 안돼요. 아시는 분 계신가요?

  • 2016년 05월 27일에 작성됨

조회수 234


1 답변


좋아요
0
싫어요
채택취소하기

이렇게 해보세요.

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;
}

단, AsyncTask 같은 쓰레드로 돌리셔야됩니다.

  • 2016년 05월 28일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close