안드로이드에서 사진 가져오기
조회수 2983회
안드로이드에서 사진을 가져오고 싶은데요. 구글링을 해보면 전부 Intent로 갤러리를 띄워서 원하는 사진을 선택하면 해당 사진을 가져오는 가져오는 방식만 나오던데 제가 원하는건 그런게 아니라 디바이스에 있는 모든 이미지 파일을 긁어오는 방식을 원하는데 어떻게 하면 좋을까요?
1 답변
-
구글링해서 모든 이미지 파일 가져오기 라고 검색했더니 이런 자료가 나왔습니다.
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; }
댓글 입력