안드로이드에서 사진 가져오기


안드로이드에서 사진을 가져오고 싶은데요. 구글링을 해보면 전부 Intent로 갤러리를 띄워서 원하는 사진을 선택하면 해당 사진을 가져오는 가져오는 방식만 나오던데 제가 원하는건 그런게 아니라 디바이스에 있는 모든 이미지 파일을 긁어오는 방식을 원하는데 어떻게 하면 좋을까요?

  • 2016년 02월 11일에 작성됨

조회수 318


1 답변


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

구글링해서 모든 이미지 파일 가져오기 라고 검색했더니 이런 자료가 나왔습니다.

private ArrayList<String> getPathOfAllImages()
{
  ArrayList<String> result = new ArrayList<>();
  Uri uri = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
  String[] projection = { MediaColumns.DATA, MediaColumns.DISPLAY_NAME };

  Cursor cursor = getContentResolver().query(uri, projection, null, null, MediaColumns.DATE_ADDED + " desc");
  int columnIndex = cursor.getColumnIndexOrThrow(MediaColumns.DATA);
  int columnDisplayname = cursor.getColumnIndexOrThrow(MediaColumns.DISPLAY_NAME);

  int lastIndex;
  while (cursor.moveToNext())
  {
    String absolutePathOfImage = cursor.getString(columnIndex);
    String nameOfFile = cursor.getString(columnDisplayname);
    lastIndex = absolutePathOfImage.lastIndexOf(nameOfFile);
    lastIndex = lastIndex >= 0 ? lastIndex : nameOfFile.length() - 1;

    if (!TextUtils.isEmpty(absolutePathOfImage))
    {
      result.add(absolutePathOfImage);
    }
  }

  for (String string : result)
  {
    Log.i("PhotoSelectActivity.java | getPathOfAllImages", "|" + string + "|");
  }
  return result;
}
  • 2016년 02월 11일에 작성됨

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

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