当我开始使用 OrmLiteandroid.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
开始一个新的时,我得到了一个。Activity
我Cursor
自己没有使用任何 s,所以它必须是 ORMLite 使用的低级代码。不确定这里的相关代码是什么,但基本上我在事务管理器中使用 Query/DeleteBuilders 和 2 个 Dao 对象。导致问题的最小示例(删除了异常处理):
return new TransactionManager(connectionSource).callInTransaction(new Callable<List<ConversionData>>() {
public List<ConversionData> call() throws Exception {
QueryBuilder<ConversionData, Date> builder = getDataDao().queryBuilder();
builder.orderBy("date", /* desc */ true);
return builder.query();
}
});
由于 Dao 和 Builders 都没有任何关闭方法,我不确定我应该在哪里实际关闭。
我Activity
的扩展中有一个 close 方法OrmLiteBaseActivity
,但是当我从其他活动返回时,我将如何再次打开它?