数据库显示在模拟器中,但不在我的Android设备上

时间:2012-10-14 20:05:28

标签: android sqlite android-assets

这是我的代码......

private static String DB_NAME = "pa1.db";
private static String DB_PATH = "/data/data/in.bitcode.sn/databases/";
private void copyDataBase() throws IOException {

    InputStream myInput = context.getAssets().open(DB_NAME);

    String outFileName = DB_PATH + DB_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();

}

1 个答案:

答案 0 :(得分:1)

您无法写入/data文件夹。这是一个Android系统文件夹。它可以在模拟器中运行,因为在模拟器中你是 root ,而你可能不在你的设备中。

也许您想使用Android's integrated backup API代替此。