2011-04-20 4 views
0

많은 주제를 읽었지만 필요한 내용을 다루지 못했습니다.내 응용 프로그램의 사운드 파일을 sdcard에 저장할 수 있어야합니다.

기본적으로 사운드 파일이 많아서 sdcard에서 응용 프로그램에서 재생할 수 있기를 원합니다.

또한 응용 프로그램을 설치할 때 처음부터 설치할 수 있기를 원합니다.

나는 안드로이드 SDK와 이클립스를 사용하고, 현재 내 대상 프로젝트는

누군가가 도와 드릴까요 V1.6은?

감사합니다.

+0

필요한 것을 더 구체적으로 지정할 수 있습니까? – aromero

+0

사운드 보드 응용 프로그램을 쓰고 있는데 SDcard에 사운드 클립을 저장하고 싶습니다. 내부 전화 메모리가 가득 찼을 경우처럼 설정을 편집 할 텍스트 파일을 저장하려는 경우도 있습니다. 희망 하시겠습니까? – MrCloister

답변

1

그래, 답을 찾았습니다.

먼저 우리는 외부 저장소 디렉토리를 baseDir이라는 변수로 가져와야합니다.

String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath(); 

그런 다음 SD 카드에 디렉토리 mysounds 만들기

File folder = new File(Environment.getExternalStorageDirectory() + "/mysounds"); 
boolean success = false; 
if(!folder.exists()) 
{ 
    success = folder.mkdir();  
}   
if (!success) 
{ 
    // Do something on success 
} 
else 
{ 
    // Do something else on failure 
} 

그런 다음 mysounds 디렉토리 당신에게 자산 디렉토리에서 이름의 시작 부분에 소리와 함께 모든 파일을 복사하는 코드의이 다음 비트 이미 만들었습니다.

try { 
     AssetManager am = getAssets(); 
     String[] list = am.list(""); 
     for (String s:list) { 
      if (s.startsWith("sound")) { 
       Log.d("Notice", "Copying asset file " + s); 
       InputStream inStream = am.open(s); 
       int size = inStream.available(); 
       byte[] buffer = new byte[size]; 
       inStream.read(buffer); 
       inStream.close(); 
       FileOutputStream fos = new FileOutputStream(baseDir + "/mysounds/" + s); 
       fos.write(buffer); 
       fos.close(); 
      } 
     } 
} 

희망이 있으면 도움이 될 것입니다.

+0

웹 사이트에서 scard로 사운드 파일을 다운로드하여 .apk 크기가 부풀 리지 않도록 할 수도 있습니다. –

관련 문제