如何正确创建2个相关的sqliteDB?

时间:2013-09-11 06:25:42

标签: android sqlite foreign-keys android-sqlite foreign-key-relationship

我有2个课程,我们称他们为A班和B班。 他们通常是这样的:

public class A{
    //...
    class DbA extends SQLiteOpenHelper{
    //...
    }
}

public class B{
    //...
    class DbB extends SQLiteOpenHelper{
    //...
    }
}

A类的DB有一个外键,它是B类DB的主键。 问题是:系统是否保证在A之前创建B? 如果没有,如何编写正确的代码以确保在A之前创建B?

我提出了两个想法:

1

public class DBShared extends SQLiteOpenHelper{
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(...);  //create DBb  
        db.execSQL(...);  //create DBa
    }
}
public class A{
    //has no inner SQLiteOpenHelper class anymore
    DBShared db = new DBShared();
}

public class B{
    //has no inner SQLiteOpenHelper class anymore
    DBShared db = new DBShared();
}

2

public class A{
    //...
    class DbA extends SQLiteOpenHelper{
        public void onCreate(SQLiteDatabase db) {
            new B();//B creates DBb when instantiated;
        }
    }
}

有人会有更好的想法吗? 谢谢!

0 个答案:

没有答案