2012-01-17 2 views
1

그래서 Android의 외부 저장소에 일부 데이터를 저장하고 싶습니다. 그리고 내가 말하는 API를 보았습니다 getExternalStoragePublicDirectory(String type) "이 방법은 필요한 경우 적절한 디렉토리를 생성합니다." 음악, Podcast, 벨소리, 알람, 알림, 그림, 영화, 다운로드 등의 기본 디렉토리입니다. 내 질문은 :Android : getExternalStoragePublicDirectory (문자열 유형)를 사용하여 외부 저장소에 쓰기

  1. 어떻게 내 자신의 새 디렉토리를 만들 수 있습니까?
  2. 어떻게 사용자에게 보이지 않게 할 수 있습니까? 그래서 사용자는 여분 폴더로 좌절하지 않을 것이다.

답변

6

당신은 다음을 수행 할 수 있습니다, 사용자에게가 "더 - 눈에 보이지 않는"하기 위해 다음 폴더를 만드는 방법에 대해 coder_For_Life22의 답변을 사용하고 있습니다 :

  1. 도트로 시작하는 이름을 지정하십시오. 예 : ".yourappname"
  2. ".nomedia"라는 빈 파일을 폴더에 넣으십시오. 이렇게하면 미디어 스캐너가 해당 폴더에있는 파일을 기록하지 못하게됩니다.
+1

칭찬 광산에 대한 좋은 답변 –

6
안드로이드 문서가 말한대로

당신은 같은 것을 할 수있는, 응용 프로그램 디렉토리 얻을

String pathToExternalStorage = Environment.getExternalStorageDirectory().toString(); 
File appDirectory = new File(pathToExternalStorage + "/" + "AppName"); 
// have the object build the directory structure, if needed. 
appDirectory.mkdirs(); 

지금이 .. 외부 저장 장치에 대한 사용자 정의 디렉토리를 생성

당신이 원하는 경우 응용 프로그램과 관련이 없으며 응용 프로그램을 제거 할 때 삭제해서는 안되는 파일을 저장하십시오. 외부 저장소의 공용 디렉토리 중 하나에 저장하십시오. 이 디렉토리는 Music /, Pictures /, Ringtones/등과 같은 외부 저장소의 루트에 있습니다.

편집 : 내부 저장 장치에 만들 수

사용 Context.getDir (문자열 이름, INT 모드) 방법 또는 액세스 디렉토리. docs에서 따옴표 :

응용 프로그램이 자신의 사용자 지정 데이터 파일을 배치 할 수있는 새 디렉터리를 검색하여 필요에 따라 만듭니다. 반환 된 파일 개체를 사용하여이 디렉터리의 파일을 만들고 액세스 할 수 있습니다. File 객체를 통해 생성 된 파일은 자신의 응용 프로그램에서만 액세스 할 수 있습니다. 당신은 개별 파일이 아닌 전체 디렉토리의 모드 만 설정할 수 있습니다.

예 :

File mydir = context.getDir("mydir", Context.MODE_PRIVATE); //Creating an internal dir, set it to private so its only visible to our application; 
+0

응용 프로그램과 관련없는 파일을 저장하고 싶습니다. 삭제하지 말아야 할 응용 프로그램이 제거되었지만, 사용자가 보이지 않게 만드는 방법은 사용자가 실수로 삭제하지 않도록하는 방법입니다. . – sammiwei

+1

코드에서 만든 폴더를 사용자가 볼 수 있습니다. "AppName"대신 원하는 이름을 지정할 수 있습니다. 모든 Enviroment.getExternalStorageDirectory()는 외부 저장소에 대한 경로를 가져옵니다. –

+0

본 적이 있지만 폴더에 코드에 액세스하지 않으면 폴더가 보이지 않습니다. 맞습니까? – sammiwei

관련 문제