如何解决android数据库已经关闭onResume
| 我的应用程序有一个问题,如果我返回到某个活动,会收到一个错误消息,指出数据库已关闭:ERROR/AndroidRuntime(3566): Caused by: java.lang.IllegalStateException: database /data/data/com.kempville.app/databases/MyDB already closed
我实例化,打开,实例化游标,执行查询,关闭游标并关闭数据库,所有这些都在onResume()期间调用的方法内进行。我不知道当此活动回到最前面时,只要调用onResume就会假定打开什么。
private void getMydata() {
MyDb db;
db = new MyDB(this);
db.open();
Cursor c = db.getInfo(code);
startManagingCursor(c);
if (c.moveToFirst()) {
name = c.getString(c.getColumnIndex(\"name\"));
}
c = fdb.getType(myArray.getString(\"type\"));
startManagingCursor(c);
if (c.moveToFirst()) {
type = c.getString(c.getColumnIndex(\"type\"));
}
c.close();
db.close();
解决方法
似乎startManagingCursor会尝试关闭它,尽管您已经自己关闭了它。要么放弃startManagingCursor(不推荐使用),要么更好地调用stopManagingCursor
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。