0

当我们可以创建greendao应用程序我们没有得到任何关闭greendao db的默认方法那么我们如何在Application类上关闭db

因为我们在 Application 类上添加了以下代码

静态类 YourAsyncTask 扩展 AsyncTask {

    @Override
    protected String doInBackground(Void... unused) {
        DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(mContext, ENCRYPTED ? "otp-db-encrypted" : "otp-db");
        Database db = ENCRYPTED ? helper.getEncryptedWritableDb("super-secret") : helper.getWritableDb();
        daoSession = new DaoMaster(db).newSession();
        return "";
    }
}

我们可以将 daoSession 对象用于整个应用程序,我们如何获得以下错误的解决方案

完成尚未停用或关闭的光标。database = /data/user/0/com.onetouchprotect/databases/google_app_measurement_local.db,table = null,query = select count(1) from messages android.database.sqlite.DatabaseObjectNotClosedException:应用程序没有关闭游标或数据库对象在 android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:50) 在 android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java) 的 android.database.sqlite.SQLiteCursor.(SQLiteCursor.java:98) 打开:

4

1 回答 1

0

建议有一个单独的类负责为您提供会话变量。指导您使用文件 App.java 中DaoExample

于 2017-07-19T00:16:46.333 回答