Java Android:更新资产文件夹中的数据库

Java Android:更新资产文件夹中的数据库,java,android,sqlite,Java,Android,Sqlite,在我的android应用程序中,用户可以插入数据,当他/她单击保存按钮时,插入的数据将保存在sqlite数据库中。我有一个预定义的数据库,它位于资产文件夹(.db文件)中。现在它可以保存数据了,我可以使用sqlite管理插件在eclipse中看到插入的数据。但问题是它无法更新资产文件夹中的数据库。我怎样才能解决这个问题?谁能解释一下我该怎么办 致意 先发制人 我想知道的是,在插入数据后,如何更新资产文件夹中的数据库 无法在运行时编辑资产文件夹 这将从资产文件夹加载数据库: // Copies D

在我的android应用程序中,用户可以插入数据,当他/她单击保存按钮时,插入的数据将保存在sqlite数据库中。我有一个预定义的数据库,它位于资产文件夹(.db文件)中。现在它可以保存数据了,我可以使用sqlite管理插件在eclipse中看到插入的数据。但问题是它无法更新资产文件夹中的数据库。我怎样才能解决这个问题?谁能解释一下我该怎么办

致意

先发制人

我想知道的是,在插入数据后,如何更新资产文件夹中的数据库

无法在运行时编辑资产文件夹

这将从资产文件夹加载数据库:

// Copies DB from assests
private void copyDataBase() throws IOException {
    InputStream mInput = mContext.getAssets().open(DB_NAME);
    String outFileName = DB_PATH + DB_NAME;
    OutputStream mOutput = new FileOutputStream(outFileName);
    byte[] mBuffer = new byte[1024];
    int mLength;
    while ((mLength = mInput.read(mBuffer)) > 0) {
        mOutput.write(mBuffer, 0, mLength);
    }
    mOutput.flush();
    mOutput.close();
    mInput.close();
}
有关从资产更新数据库的信息,请参见此

我想知道的是,在插入数据后,如何更新资产文件夹中的数据库

无法在运行时编辑资产文件夹

这将从资产文件夹加载数据库:

// Copies DB from assests
private void copyDataBase() throws IOException {
    InputStream mInput = mContext.getAssets().open(DB_NAME);
    String outFileName = DB_PATH + DB_NAME;
    OutputStream mOutput = new FileOutputStream(outFileName);
    byte[] mBuffer = new byte[1024];
    int mLength;
    while ((mLength = mInput.read(mBuffer)) > 0) {
        mOutput.write(mBuffer, 0, mLength);
    }
    mOutput.flush();
    mOutput.close();
    mInput.close();
}

有关从资产更新数据库的信息,请参见此部分。

您不能对保留在资产中的数据库执行任何操作,因为这只是运行时的模式。数据库在data/data/pkg_name/database/myDb.db中获取副本,更改将反映在那里而不是资产中。

您不能对数据库执行任何已执行的操作保留在资产中,因为它只是运行时的模式。数据库在data/data/pkg_name/database/myDb.db中获取副本,更改将反映在那里而不是资产中。

我的DatabaseHelper类中已经有了此方法,我想知道的是,在插入数据后如何更新资产文件夹中的数据库。我可以在android系统文件夹中看到插入的数据(使用questoid sqlite管理器插件)。实际上,在我的android应用程序中,用户应该写入数据库。我的DatabaseHelper类中已经有了这个方法,我想知道的是,在插入数据后,如何更新资产文件夹中的数据库。我可以在android系统文件夹中看到插入的数据(使用questoid sqlite管理器插件)。实际上,在我的android应用程序中,用户应该写入数据库。