我一直是在 native 模式下插入初始数据的答案
How to add initial data to SQLite database?
如何使用 Green dao 获得相同的结果?
这是我的应用程序类
public class App extends Application{
@Override
public void onCreate() {
super.onCreate();
DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this,"Images-bd",null);
SQLiteDatabase db = helper.getWritableDatabase();
DaoMaster daoMaster = new DaoMaster(db);
DaoSession daoSession = daoMaster.newSession();
}
}
最佳答案
您可以创建一个扩展 DaoMaster
的类,并在 onCreate
方法中运行查询:
public class CustomDaoMaster extends DaoMaster {
public CustomDaoMaster(SQLiteDatabase db) {
super(db);
}
public static class OpenHelper extends DaoMaster.OpenHelper {
public OpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory) {
super(context, name, factory);
}
@Override
public void onCreate(SQLiteDatabase db) {
super.onCreate(db);
db.execSQL("INSERT INTO myTable VALUES('foo')");
db.execSQL("INSERT INTO myTable VALUES('bar')");
}
}
}
因此,在您的 Application
类中,您将使用此类的实例:
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
CustomDaoMaster.OpenHelper helper = new CustomDaoMaster.OpenHelper(this, "Images-bd", null);
SQLiteDatabase db = helper.getWritableDatabase();
CustomDaoMaster daoMaster = new CustomDaoMaster(db);
DaoSession daoSession = daoMaster.newSession();
}
}
关于java - 如何在android中使用GreenDao为数据库添加初始数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35274887/