방대한 문서보다 동작하는 소프트웨어

개발

안드로이드 갤러리에서 이미지 주소 가져올 때(Android Gallery)

꽃게장세트 2015. 8. 6. 16:14

/external/images/media/38

안드로이드 기본 갤러리(Gallery)에서 이미지를 가져오게 되면 Uri의 경로가 위와 같다. 안드로이드 내부에서 갤러리 이미지를 따로 관리하기 때문이라고 생각한다. 개발할 때 안드로이드의 전체 경로를 가져와야 할 필요가 있다. 아래와 같은 방법으로 처리한다. 위의 경로를 인자로 받는 메서드이다.



private Uri getGalleryImageFullPath(Uri uri) {
    String[] filePathColumn = {MediaStore.Images.Media.DATA};
    Cursor cursor = mParentActivity.getContentResolver().query(uri, filePathColumn, null, null, null);
    cursor.moveToFirst();

    int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
    String picturePath = cursor.getString(columnIndex);
    cursor.close();

    return Uri.fromFile(new File(picturePath));
}