2012-06-22 3 views
0

앱과 함께 배포되고 런타임에 업데이트되는 사운드 파일 (ogg)을 저장하는 가장 좋은 방법은 무엇입니까?Android : 런타임에 업데이트 될 수있는 리소스를 저장하는 방법

리소스 (res/raw/*. ogg)로 기본 소리 집합을 포함하는 응용 프로그램을 개발 중입니다. 이것들은 기본값에 대해서는 문제가 없지만 인터넷에서 녹음 된 사운드와 다운로드로 사운드 세트를 업데이트 할 수 있기를 바랍니다. 문제는 리소스가 읽기 전용이므로 자산이 읽기 전용이기도하다는 것입니다. 프로젝트에 파일을 포함시켜 런타임에 업데이트 할 수있는 방법을 모르겠습니다.

런타임시 내부 저장소 나 SD 카드에 추가되는 파일과 리소스로 기본값을 가질 수 있지만 모든 파일을 한 곳에서 단일 인터페이스로 액세스하는 것이 좋습니다. 응용 프로그램이 설치 될 때 내부 저장소 또는 SD 카드에 기록되도록 프로젝트에 파일을 포함시키는 방법이 있습니까? 아니면 파일을 넣을 수있는 더 좋은 곳이 있습니까?

답변

3

.apk 파일을 패키징 할 때 /asset 디렉토리에 파일을 넣으십시오. 런타임시 해당 파일을 응용 프로그램의 내부 저장소 /data/data/<application_package_name>/files에 복사합니다 (파일의 크기가 너무 크지 않은 경우 장치에 외부 저장소가없는 경우 유용함). 또한 같은 위치에 파일을 업데이 트하십시오.

+0

파일 및 리소스의 중복을 제외하면 그것은 나쁜 해결책이 아닙니다. 복사 한 후에/assets에서 삭제할 수 있습니까? – Ian

+0

/from 자산 없음 해당 파일을 삭제할 수 없습니다. 내부 저장소에서 할 수 있습니다. 또한 내부 저장소에 업데이트 파일 만 저장하고 업데이트 된 파일을 사용하는 것이 좋습니다. 따라서 두 위치 모두에서 파일에 대해 중복 된 복사본을 생성하지 마십시오. – user370305

관련 문제