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

조회수 3013회

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

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

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)