Android预填充数据库

时间:2011-02-19 16:17:49

标签: android sqlite

是否可以向我的应用提供预填充的SQLite DB?我想使用db作为普通的SQLite数据库,它将手动填充表格,我想将它包含在我的.apk文件中。

3 个答案:

答案 0 :(得分:3)

是的,将它包含在您的资源文件夹中,并在应用程序首次启动时将其复制到/ databases文件夹中。

答案 1 :(得分:3)

试试这个

private void copyDataBase() throws IOException{

    //Open your local db as the input stream
    InputStream myInput = myContext.getAssets().open(DB_NAME);

    // Path to the just created empty db
    String outFileName = DB_PATH + DB_NAME;

    //Open the empty db as the output stream
    OutputStream myOutput = new FileOutputStream(outFileName);

    //transfer bytes from the inputfile to the outputfile
    byte[] buffer = new byte[1024];
    int length;
    while ((length = myInput.read(buffer))>0){
        myOutput.write(buffer, 0, length);
    }

    //Close the streams
    myOutput.flush();
    myOutput.close();
    myInput.close();

}

答案 2 :(得分:0)

包含在assets文件夹中的是一个选项(Apk大小将增加。)

如何将预先填充的数据库存储在任何云存储服务提供商上并在第一次运行应用程序时下载文件?