Ormlite-从同一活动访问两个数据库

问题描述 投票:0回答:1

我有一个Android应用程序,需要从同一活动访问两个不同的数据库。

我正在使用Ormlite来读取/写入数据库。

    public class MyActivity extends OrmLiteBaseActivity<MyDatabaseHelper>

我需要为另一个数据库使用另一个数据库助手。

任何人都可以指导我如何实现这一目标吗?

我应该使用相同的DatabaseHelper并在那里进行修改以支持两个数据库吗?还是有一种方法可以在同一活动中使用不同的databaseHelpers?

android android-activity android-sqlite ormlite
1个回答
0
投票

在您的情况下,我认为更好的解决方案是使用单独的助手而不是扩展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);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.