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

标签 android sqlite android-sqlite

我正在做一个使用 sqlite 数据库的应用程序我的应用程序中有一个功能有一个“更新数据库”按钮。

当用户单击“更新数据库”按钮时,我需要使用来自 URL 的新数据库文件升级旧数据库文件。

如何做到这一点。研究告诉我,我们无法更改数据库,因为它位于 .apk 文件中。 有什么解决办法吗。 请帮帮我。 谢谢。

最佳答案

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();
}

编辑:

您可能会发现它有帮助:

How to use an existing database with an Android application

关于android - 如何在android中用新的数据库文件替换现有的sqlite数据库文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14685682/

相关文章:

android - 一致的 GPS 更新 - AlarmManager 或 requestLocationUpdates()?

android - 添加新项目时如何保留在我的 listView 项目中?

android - SQL 查询与搜索算法

SQLite.WP81 扩展 SDK 安装在 VS2013 U2 上但无法引用 WP 8.1 项目中的程序集

android - 如何删除 SQLite、Android 中表中的所有项目?

java - 如何检查答案是否正确

android - Flutter Android TV 应用水平 ListView 点击项目问题

Java 文件路径 Windows/Linux

android - Room (SQLite) 带有空参数的 WHERE 子句不起作用

java - 连接异常 - XMLPullParser