GreenDao 使用现有的数据库而不是创建一个
GreenDao use existing database instead of creating one
我正在使用 green dao,我已经到了支持多语言的地步,我想为每种语言使用不同的数据库。
到目前为止,我一直在使用 green dao 创建我的数据库。现在我想在 assets 中有多个数据库,只需打开我需要的那个,然后用 green dao 操作它。
我该怎么做?
这是我创建数据库的方法:
public static DaoMaster getDaoMaster(Context context)
{
if(daoMaster == null)
{
OpenHelper helper = new OpenHelper(context, "dbSlo", null) {
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
};
//DevOpenHelper helper = new DevOpenHelper(context, "tronpos-db", null);
db = helper.getWritableDatabase();
daoMaster = new DaoMaster(db);
}
return daoMaster;
}
现在我不想创建一个,而是想打开一个现有的(我在资产中拥有的 dbSlo),然后正常地对其进行操作。
打开前复制。就在您的应用程序 class 的 onCreateof 中调用类似于此处描述的方法:Copy Database from assets folder in unrooted device
这样您就可以通过从资产中复制来检查先前存在的或创建新的。
我正在使用 green dao,我已经到了支持多语言的地步,我想为每种语言使用不同的数据库。
到目前为止,我一直在使用 green dao 创建我的数据库。现在我想在 assets 中有多个数据库,只需打开我需要的那个,然后用 green dao 操作它。
我该怎么做?
这是我创建数据库的方法:
public static DaoMaster getDaoMaster(Context context)
{
if(daoMaster == null)
{
OpenHelper helper = new OpenHelper(context, "dbSlo", null) {
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
};
//DevOpenHelper helper = new DevOpenHelper(context, "tronpos-db", null);
db = helper.getWritableDatabase();
daoMaster = new DaoMaster(db);
}
return daoMaster;
}
现在我不想创建一个,而是想打开一个现有的(我在资产中拥有的 dbSlo),然后正常地对其进行操作。
打开前复制。就在您的应用程序 class 的 onCreateof 中调用类似于此处描述的方法:Copy Database from assets folder in unrooted device
这样您就可以通过从资产中复制来检查先前存在的或创建新的。