Android mediaPlayer 앱을 쓰고 있으므로 전체 휴대 전화의 모든 파일 (예 : sdcard 및 휴대 전화 메모리)을 스캔하려고합니다. 나는 sdcard에서 읽을 수 있지만 그 루트는 읽을 수 없습니다. 즉, 그냥 /sdcard/[folder]/
경로에서 읽을 수 있으며 잘 작동하지만 /sdcard/
로 이동하면 응용 프로그램이 중단됩니다. 어떻게하면 sdcard의 모든 파일과 전화 자체의 파일에 액세스 할 수 있습니까?Android 파일 시스템의 모든 파일 읽기
4
A
답변
9
/sdcard/경로를 절대로 사용하지 마십시오. 항상 작동하는 것은 아닙니다.
아래 코드를 사용하여 sdcard 디렉토리의 경로를 가져옵니다.
File root = Environment.getExternalStorageDirectory();
String rootPath= root.getPath();
rootPath 위치에서 SD 카드의 모든 파일 경로를 빌드 할 수 있습니다. 예를 들어 /DCIM/Camera/a.jpg에 이미지가있는 경우 절대 경로는 rootPath + "/DCIM/Camera/a.jpg"입니다.
는 그러나 SDCard에있는 모든 파일을 나열하려면, 당신은 SD 카드에 존재하는 모든 파일의 이름이 필터에 의해 설정된 기준을 통과 할 아래의 코드를String listOfFileNames[] = root.list(YOUR_FILTER);
listOfFileNames를 사용할 수 있습니다.
mp3 파일 만 나열하려면 list() 함수에 아래의 필터 클래스 이름을 전달하십시오.
FilenameFilter mp3Filter = new FilenameFilter() {
File f;
public boolean accept(File dir, String name) {
if(name.endsWith(".mp3")){
return true;
}
f = new File(dir.getAbsolutePath()+"/"+name);
return f.isDirectory();
}
};
Shash
+0
soo so much .... . 매우 감사 –
관련 문제
- 1. Android 시스템의 .nwv .nwf 파일
- 2. Android 파일 쓰기, 읽기
- 3. Android 파일 읽기 문제
- 4. .key 파일 읽기 android
- 5. 읽기 전용 파일 시스템의 레일이있는 temp 파일 제공
- 6. Android : 파일 시스템의 파일 처리와 관련된 이상한 문제
- 7. 컴퓨터에서 Android 데이터베이스 파일 읽기
- 8. 파일 시스템의 C++ 조직
- 9. cramfs 파일 시스템의 권한 변경
- 10. HFS + 파일 시스템의 FileSystemWatcher
- 11. /proc 파일 시스템의 장점
- 12. 파일 읽기/쓰기 빠른 파일 읽기/쓰기
- 13. 파일 시스템의 IE7 및 XML 파일
- 14. 읽기 파일
- 15. C#에서 Excel 파일 읽기 항상 시스템의 결과 .__ ComObject?
- 16. 파일 시스템의 임의의 정렬 키
- 17. 파일 공유가없는 원격 파일 읽기
- 18. 파일 읽기 : feof() 이진 파일
- 19. 읽기 이진 파일 파일 형식
- 20. 간단한 텍스트 파일 읽기
- 21. Android - HTTP GET으로 XML 파일 읽기
- 22. CSV 파일 가져 오기/읽기 - Android
- 23. Android - 외부 jar에서 txt 파일 읽기
- 24. 모든 형식 정보가있는 기존 PDF 파일 읽기
- 25. 모든 파일 읽기 및 쓰기 리디렉션
- 26. 대규모 분산 시스템의 로그 파일
- 27. 원격 Windows 시스템의 파일 IO
- 28. Java가 파일 시스템의 변경을 감지합니다.
- 29. 자바에서 텍스트 파일 읽기
- 30. DICOM 파일 형식 읽기
당신은 안드로이드 컨텐트 리졸버를 알고 있습니까? 원하지 않으면 다음을 확인하십시오. http://developer.android.com/guide/topics/media/index.html#viacontentresolver 및 http://developer.android.com/guide/topics/providers/content-providers.html –
도움이 되겠지만 mediaplayer 인스턴스에서 다음 노래를 어떻게 호출할까요? Uri를 사용하여 setDataSource()처럼 보입니다.하지만 거기에있는 모든 노래를 보는 방법을 모르겠습니다. –
실제로 작동하지 않았습니다. 아직 전체 미디어 하위 시스템이 많이 있으므로,이를 다른 누군가에게 전달하여 답변을 드리겠습니다. 그러나 이것은 가능해야합니다. 모든 파일이 이미 스캔되었을 때 전체 sdcard/메모리를 검색하는 것이 불충분하고 배터리를 낭비하는 것처럼 들릴 수 있기 때문에 알려 드리고자합니다. 편집 : 검색을위한 하나의 아이디어 : 실제로 ContentResolver를 사용하여 미디어를 쿼리해야합니다. MediaPlayer는 실제로 플레이어 일 뿐이며 미디어 관리를 처리하지 않으며, 단지 하나의 미디어 만 재생합니다. 위의 링크는 조금 더 설명합니다. –