如何用android中的新数据库文件替换现有的sqlite数据库文件

Ank*_*dse 6 sqlite android android-sqlite

我在做一个使用sqlite数据库的应用程序我的应用程序中有一个功能,它有一个"更新数据库"按钮.

当用户单击"更新数据库"按钮时,我需要使用URL中的新db文件升级旧的db文件.

这该怎么做.研究告诉我,我们无法更改数据库,因为它在.apk文件中.对此有什么解决方案吗?请帮帮我.谢谢.

Yaq*_*mad 5

private void importDatabase(String inputFileName) throws IOException
{
    InputStream mInput = new FileInputStream(inputFileName);
    String outFileName = YOUR_DB_PATH_HERE;
    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();
}
Run Code Online (Sandbox Code Playgroud)

编辑:

您可能会发现它很有帮助:

如何在 Android 应用程序中使用现有数据库


Sta*_*Sky 1

首次启动应用程序时,您应该将数据库从 apk 文件复制到外部/内部存储中。当您需要更新(使用语句或替换整个数据库)时,您可以毫无问题地在内部/外部存储器中进行操作。当您更新应用程序时(也许新应用程序内部有一个新数据库),在首次启动新应用程序时,您应该替换存储在内部/外部存储器中的数据库。