gpt4 book ai didi

android - 如何替换(覆盖整个文件)SQLiteAssetHelper 提供的 sqlite 数据库?

转载 作者:搜寻专家 更新时间:2023-11-01 07:57:41 25 4
gpt4 key购买 nike

我的应用程序的 src/main/assets/databases 目录中有一个数据库文件。我想下载一份整个数据库的新副本(不需要保留任何数据),并覆盖旧的。我如何使用 SQLiteAssetHelper 执行此操作?

我的理解是 SQLiteAssetHelper 检查数据库是否“安装”在设备上,如果没有,将其从 src/main/assets/databases 中拉出目录并将其复制到android可以使用的地方。由于我无法修改我的应用程序的 Assets ,SQLiteAssetHelper 将数据库复制到哪里,覆盖它的正确方法是什么?

这是我扩展的 SQLiteAssetHelper,以防它有任何用处:

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import com.readystatesoftware.sqliteasset.SQLiteAssetHelper;

public class EnumDatabase extends SQLiteAssetHelper {

private static final String DATABASE_NAME = "enums.sqlite3";
private static final int DATABASE_VERSION = 1;

public EnumDatabase(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

}

最佳答案

How can I do this with SQLiteAssetHelper?

删除旧数据库,然后在 SQLiteAssetHelper 上调用 getReadableDatabase()getWriteableDatabase()。您可以在任何方便的 Context 上调用 deleteDatabase() 来删除现有数据库。不过,请先确保您的数据库已关闭。

关于android - 如何替换(覆盖整个文件)SQLiteAssetHelper 提供的 sqlite 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25674256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com