2012-11-12 6 views
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(); 
} 
+0

는 [이 솔루션] (http://www.reigndesign.com/blog/ 보이는 using-your-own-sqlite-database-in-android-applications /)를 사용합니다. 'copyDataBase()'를 호출하기 전에'createDataBase()'(이것은'databases' 디렉토리와 함께 빈 데이터베이스를 생성합니다)를 호출하고 있습니까? – acj

+0

자신 만의 롤링 이라기보다는'SQLiteAssetHelper'로 바꾸는 것이 좋습니다 : https://github.com/jgilfelt/android-sqlite-asset-helper – CommonsWare

답변

관련 문제