2012-06-30 3 views
0

sqlite db를 data/data/packagename/database 폴더에 복사하면 25MB를 소비하는 7MB의 응용 프로그램이 있습니다. 이것은 내 검소한 에뮬레이터에서 너무 커서 사용자에게 잠재적으로 불쾌감을줍니다.자산에서 sdcard에 sqlite db를 넣는 방법

sdite에 sqlite db를 삽입하는 방법이 있습니까? 아니면 전체 응용 프로그램 등? 설치 후 강제로 사용자에게 묻는 것은 너무 늦은 것 같아요. 나는 데이 스파이더를 직접 호스팅 할 수 없습니다.

답변

1

sdite에 sqlite db를 삽입하는 방법이 있습니까?

아마도 이것을 처리하기 위해 mod를 SQLiteAssetHelper으로 만들 수 있습니다. 기본적으로 내부 저장소의 정상 위치에 데이터베이스를 배치합니다. 불행하게도, 지금 당장은 약간의 수술이 필요합니다. 조금만 더 쉽게 a feature request을 신청했습니다.

전체 앱 외입니까?

허용되지 않을 수도 있지만 use android:installLocation="preferExternal" 수 있습니다. 그리고 데이터베이스에 영향을 미치지 않습니다. getFilesDir(), getDatabaseDir() 및 친족은 항상 내부 저장소에 있습니다.

또한이 문제는 Android 1.x/2.x 기기에서만 실제로 발생합니다. 그보다 더 새로운 모든 것은 내부 및 외부 스토리지가 하나의 파티션에 있어야하므로 공간을 공유해야합니다.

관련 문제