2016-08-28 2 views
0

안드로이드가 없기 때문에 Bluestacks를 사용하여 내 앱을 테스트하고 있습니다. 나는 SDCard에 파일을 쓰려고하지만 그 경로를 알아 내지 못하는 것 같습니다. 나는 다음을 시도했다 : /mnt/sdcard/ext_sd & /mnt/extSdCard 그러나 그것들은 작동하지 않았다.SD 카드 위치 안드로이드에서

답변

0

나는 다음 시도했다 : /mnt/sdcard/ext_sd & /mnt/extSdCard하지만 일 그 중 어느 쪽.

경로를 하드 코딩하면 안됩니다. SD 카드 저장 위치 또는 경로는 전화마다 다릅니다. 내 휴대 전화에서 SD 카드의 저장 위치가 API 레벨 19 전에

, 귀하의 질문에오고 지금 /storage/sdcard1

이다, SD 카드에 저장하는 공식 API method없었다. 그러나 많은 사람들이 비공식 라이브러리 또는 API를 사용하여이를 수행 할 수 있습니다.

공식적으로 API 레벨 19 (Android 버전 4.4 - Kitkat)의 Context 클래스에 한 가지 방법 (getExternalFilesDirs)이 도입되었습니다.

File[] getExternalFilesDirs (String type) 

IT는 응용 프로그램이 소유 지속적인 파일을 배치 할 수있는 모든 공유/외부 저장 장치에 응용 프로그램 별 디렉토리에 대한 절대 경로를 반환합니다. 이러한 파일은 응용 프로그램 내부에 있으며 이며 일반적으로 미디어에 사용자가 볼 수 없습니다.

즉, 저장소 - 내부 메모리와 마이크로 SD 카드 모두 경로를 반환합니다. 일반적으로 의 두 번째 반환 경로은 마이크로 SD 카드의 저장 경로입니다 (항상 그런 것은 아닙니다). 따라서이 메소드로 코드를 실행하여 체크 아웃해야합니다.

경로를 하드 코딩하는 대신 앱 소스 코드에서이 방법을 사용하여 SD 카드 위치를 가져와야합니다. 그런 다음 해당 위치에 파일을 씁니다. 당신이 안드로이드의 저장 위치 또는 경로에 대한 자세한 내용을 알고 싶다면

는, 공식적인 방법은/sdcard``이었다, API 19 전에 my other answer

+0

를 통해 이동하시기 바랍니다. 실제 위치에 대한 심볼릭 링크 인 새 전화기 (역 호환성을 위해)에서 계속 사용할 수 있습니다. – StenSoft

+0

@StenSoft 나는 API 19 이전에는 공식적인 API 메소드가 없다는 것을 의미했다. 어쨌든, 지적 해 주셔서 고마워. 나는이 혼란을 피하기 위해 나의 대답을 업데이트했다 :) – AnV