갤러리에서 사진을 가져오는 작업을 할 때 uri를 많이 사용한다.
이 때, uir -> 절대경로 변환 함수 로직을 많이 사용하는데,
갤러리를 불러오는 인텐트를 어떻게 설정하느냐에 따라
변환 함수 로직이 제대로 되는경우가 있고 안되는 경우가 있다.
따라서 아래 방법으로 고정하면 편하다!!
갤러리 불러오는 인텐트
//basicImg 클릭시 사진 선택을 위해 갤러리로 이동합니다
basicImg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType(MediaStore.Images.Media.CONTENT_TYPE);
//다중 이미지를 가져올 수 있도록 세팅
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent.setData(MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 2222);
}
});
uri -> 절대 경로 변환
//핸드폰 갤러리에 있는 사진의 uri 를 통해 경로를 얻는 것.
public String getPathFromUri(Uri uri){
Cursor cursor = getContentResolver().query(uri, null, null, null, null );
cursor.moveToNext();
String path = cursor.getString( cursor.getColumnIndex( "_data" ) );
cursor.close();
return path;
}