마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

sd카드 파일 저장하는 방법이 궁금합니다.

0 추천

데이터를 파일로 저장한 다음에 pc로 연결해서 파일을 열어볼 수 있게 하고 싶습니다.

일반적인 파일 입출력은 접근 권한이 없어서 파일을 열어 볼 수 없더군요. (앱/경로/)

그래서 외장 sd 카드를 이용하면 되는 줄 알았는데,

외장 메모리도 지정된 위치(경로)에서만 저장이 가능하게끔 되어 있나요?

Environment.getExternalStorageDirectory().getAbsolutePath();

외장메모리 경로가 /storage/emulated/0 이런식으로 읽히고, 입출력이 되지 않습니다.

파일 입출력 해서 pc 에서 열어볼 수 있는 방법이 전혀 없는건지요.

선배님들의 조언 부탁드리겠습니다. 

익명사용자 님이 2016년 8월 28일 질문

2개의 답변

0 추천
안드로이드 디바이스에 있는 파일관리 앱을 보시면 Download나 카메라 앱이 사용하는 디렉토리등 여러 앱에서 액세스할 수 있는 경로들이 많습니다. 아래 문서를 참고하셔서 다시 테스트 해보세요. 그리고 애뮬레이터를 사용하신다면, 실제 디바이스와 차이를 보일 수 있습니다.

https://developer.android.com/guide/topics/data/data-storage.html#filesExternal
익명사용자 님이 2016년 8월 28일 답변
0 추천

아래 권한은 주셨나요?

 

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
바램 (19,650 포인트) 님이 2016년 8월 29일 답변
네 권한은 주었습니다.
한가지 이상한 것은 external 경로가 /storage/emulated/0 이렇게 읽히고 있습니다.
제 생각은 sdcard/ 등으로 나와야 하지 않나요?
 /storage/emulated/0 경로는 일반 로컬? 경로인데 확장슬롯에서 메모리칩을 빼보아도 마운트 되었다고 나옵니다. 삼성 노트4 인데, 확장슬롯을 기본메모리로 쓰고 있는건지 의심되더군요.
일반 경로로 파일 저장하려면 document / download 폴더를 쓸 수 있는지 궁금합니다.
사용하신 API는 외장메모리의 경로를 반환합니다.
하지만, 내장, 외장메모리를 모두 지원하는 폰의 경우는 내장메모리의 경로를 반환합니다. 말씀하신 두 경로가 모두 맞습니다.
내장, 외장 모두 지원되는 폰의 경우 외장메모리의 경로를 반환하는 API는 따로 존재치 않아서 편법으로 경로를 얻어와야 합니다.

download 폴더는 내장메모리에 존재하는 폴더로 웹사이트에서 파일같은걸 다운받을때 저장되는 폴더입니다.
document 라는 폴더는 기본 폴더는 아닌것으로 보여집니다.
...