java - 如何在android中使用GreenDao为数据库添加初始数据?

标签 java android sqlite greendao greendao-generator

我一直是在 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/

相关文章:

java - Swing JScrollPane - 如何将垂直滚动条设置为左侧?

java - 如何使用java中的for循环在字符串中查找字符串?

java - 如何使用 Gson 将 JSONArray 转换为 List?

android - 夜间模式更改后刷新后台 Activity

android - 将图像插入数据库并检索它

android - 我的 SQLite 配方表如何有多个条目?

java - 如何在 Java 中隐藏我的数据库信息?

java - Seam:相当于 components.xml 中的@Startup?

android - Gradle 发布版本仍然可以调试?

android - 将对象的 ArrayList 转换为 JSON 以保存到 SQLITE 中