我一直是以纯模式插入初始数据的答案
How to add initial data to SQLite database?
如何使用Green dao获得相同的结果?
这是我的Application类
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();
}
}
答案 0 :(得分:4)
您可以创建一个扩展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();
}
}