1
저는 기존의 SQLite 데이터베이스를 사용하고 있으며, 대부분의 튜토리얼을 살펴 봤습니다. 이제 데이터베이스를 복사하는 동안 오류가 발생합니다. 간단히 말해서/data/data/(packageName)/databases는 존재하지 않습니다. 내 에뮬레이터에서 DDMS 파일 탐색기를 사용하여 폴더를 추가하고 작동했습니다. 무엇이/databases 폴더를 만들지 않을까요? 당신이 적응하는 것처럼안드로이드/데이터/데이터/(packageName)/데이터베이스가 생성되지 않았습니다.
private void copyDataBase() throws IOException{
InputStream myInput = dbContext.getAssets().open(DATABASE_NAME);
String outFileName = DATABASE_PATH + DATABASE_NAME;
OutputStream myOutput = new FileOutputStream(outFileName);
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer))>0){
myOutput.write(buffer, 0, length);
}
myOutput.flush();
myOutput.close();
myInput.close();
}
는 [이 솔루션] (http://www.reigndesign.com/blog/ 보이는 using-your-own-sqlite-database-in-android-applications /)를 사용합니다. 'copyDataBase()'를 호출하기 전에'createDataBase()'(이것은'databases' 디렉토리와 함께 빈 데이터베이스를 생성합니다)를 호출하고 있습니까? – acj
자신 만의 롤링 이라기보다는'SQLiteAssetHelper'로 바꾸는 것이 좋습니다 : https://github.com/jgilfelt/android-sqlite-asset-helper – CommonsWare