如何重新复制存储在 assets 文件夹中的数据库以用于 android studio 项目?
我正在使用 Android SQLite Assets 助手类
package com.acorney.migration;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteQueryBuilder;
import com.readystatesoftware.sqliteasset.SQLiteAssetHelper;
/**
* Created by acorney on 25/07/2016.
*/
public class databaseHelper extends SQLiteAssetHelper {
private static final String TAG = SQLiteAssetHelper.class.getSimpleName();
private static final String DATABASE_NAME = "peopleDatabase.db";
private static final int DATABASE_VERSION = 1;
public databaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
然后我在我的 MainActivity 中创建了它的一个实例
databaseHelper dataB;
dataB = new databaseHelper(this);
我认为,这会在 data/data 中创建一个空数据库,并将数据库从 Assets 复制到其中
但是,我已经从应用程序外部(使用 SQLite 浏览器)更新了数据库并将其保存回 Assets 文件夹。 如何将数据库的更新复制到应用程序中?
最终,应用程序需要读取和写入此数据库 - 以便将更改保存到 Assets 文件夹中的数据库
而且,当应用程序启动时,应用程序应该只在 Assets 文件夹中创建一个新的数据库实例。
基本上 - 我希望所有数据库更改都发生在 Assets 文件夹中 - 这可以做到吗?
谢谢你的帮助
最佳答案
不,这是不可能的。 Assets 文件夹是二进制 APK 的一部分,无法在运行时更改。您只能在编译时更改它。
关于java - 如何更新存储在 Assets 文件夹Android中的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38587063/