我有一个Android应用程序,需要从同一活动访问两个不同的数据库。
我正在使用Ormlite来读取/写入数据库。
public class MyActivity extends OrmLiteBaseActivity<MyDatabaseHelper>
我需要为另一个数据库使用另一个数据库助手。
任何人都可以指导我如何实现这一目标吗?
我应该使用相同的DatabaseHelper并在那里进行修改以支持两个数据库吗?还是有一种方法可以在同一活动中使用不同的databaseHelpers?
在您的情况下,我认为更好的解决方案是使用单独的助手而不是扩展OrmLiteBaseActivity
。
public class DatabaseHelperA extends OrmLiteSqliteOpenHelper {
public static DatabaseHelper getInst(){
return inst;
}
public static void init(Context c){
if (inst == null) inst = OpenHelperManager.getHelper(c, DatabaseHelperA.class);
}
public DatabaseHelper(Context context) {
super(context, "a.db", null, 1);
}
}
public class DatabaseHelperB extends OrmLiteSqliteOpenHelper {
public static DatabaseHelper getInst(){
return inst;
}
public static void init(Context c){
if (inst == null) inst = OpenHelperManager.getHelper(c, DatabaseHelperB.class);
}
public DatabaseHelper(Context context) {
super(context, "a.db", null, 1);
}
}