마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

[ 안드로이드 ] 이미지 관련 - 절대경로 & imageView 이슈

0 추천

안녕하세요, 안드로이드 공부중인 초보입니다.

 

특정버튼을 클릭하면 "ACTION_PICK"을 통해서 갤러리 화면을 띄우고, 이미지를 선택해서 원하는 이미지뷰에 선택한 이미지를 띄우려고 헀는데요,,

 

원래 Bitmap image_bitmap = MediaStore.Images.Media .getBitmap(getContentResolver(), data.getData());

 

(이걸로 받아온 비트맵 값) content://media/external/images/media/10082

 

이걸로 이미지를 그리면, 선택한이미지가 이미지 뷰에 잘 그려졌습니다.

 

(절대경로를 구하고 그걸 이미지 뷰에 씌우는 방법을 하려는 이유는, 이미지 절대경로를 String으로 저장했다가 다시 앱을 킬때도 저장된 경로로 이미지를 띄우려 해서 입니다. 이 위의 컨텍스트 경로를 저장했다가 리스트 뷰로 이미지를 그리려 하니까 실패하더라구요..)

 

그래서 이미지의 절대 경로를 구해서 그리려고 시도해봤습니다 (기종 : 갤럭시s6 - 내부 갤러리에 저장된 이미지)

 

Uri selectedImg_uri;

 

this.selectedImg_uri = Uri.parse(selectedImg_path);

 

현재 selectedImg_uri 이거 값이 /storage/emulated/0/Download/13659028_1035067996585531_2022603899746916935_n.jpg 이거로 되어있습니다.

 

시도 방법1)

 

//그리기

 

image_selected.setImageURI(selectedImg_uri);

 

시도방법2)

 

File img_pathFile = new File(String.valueOf(selectedImg_uri));

 

Bitmap bm_imgPath;

 

BitmapFactory.Options bm_options;


try{   

    bm_imgPath=BitmapFactory.decodeFile(img_pathFile.getAbsolutePath());    
    System.out.println("Try(aaaa)");   

} catch (OutOfMemoryError e){

    bm_options = new BitmapFactory.Options();

    bm_options.inSampleSize = 2;

    bm_imgPath = BitmapFactory.decodeFile(img_pathFile.getAbsolutePath(), bm_options);

    System.out.println("OutOfMemoryError(aaaa)");

} catch (Exception e){

    System.out.println("Exception(aaaa)");

}

System.out.println("이거 널???(aaaa):"+String.valueOf(bm_imgPath)); (→네,, 이게 null이 뜹니다..);

System.out.println("bm_imgPath(aaaa):"+String.valueOf(img_pathFile.getAbsolutePath()));

 

//그리기 image_selected.setImageBitmap(bm_imgPath);

 


 

위의 두방법 다 실행이 되지 않아서요, 제가 잘못한 부분이 보이시면 지적 부탁드리겠습니다!

키아누 (120 포인트) 님이 2016년 7월 18일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...