尝试重新打开一个已经关闭的对象:SQLiteDatabase [英] attempt to re-open an already-closed object: SQLiteDatabase

查看:4421
本文介绍了尝试重新打开一个已经关闭的对象:SQLiteDatabase的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的logcat中得到这些错误,当我试图更改我的项目构建目标到4.1 google API,在项目属性。我试图修复项目属性和清理项目,但没有成功。有什么问题?

I get these errors in my logcat when i tried to change my project build target to 4.1 google API, in Project Properties. I've tried to fix project properties and clean project, but with no success. What's the problem?

10-07 15:13:34.839: E/Trace(731): error opening trace file: No such file or directory (2)
10-07 15:13:35.259: I/SQLiteConnectionPool(731): The connection pool for /data/data/hr.punctum.LociranjePonudaProizvoda/databases/proizvodidb has been closed but there are still 1 connections in use.  They will be closed as they are released back to the pool.
10-07 15:13:35.259: D/AndroidRuntime(731): Shutting down VM
10-07 15:13:35.259: W/dalvikvm(731): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
10-07 15:13:35.278: E/AndroidRuntime(731): FATAL EXCEPTION: main
10-07 15:13:35.278: E/AndroidRuntime(731): java.lang.RuntimeException: Unable to start activity ComponentInfo{hr.punctum.LociranjePonudaProizvoda/hr.punctum.LociranjePonudaProizvoda.ListaProizvoda}: java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase: /data/data/hr.punctum.LociranjePonudaProizvoda/databases/proizvodidb
10-07 15:13:35.278: E/AndroidRuntime(731):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
10-07 15:13:35.278: E/AndroidRuntime(731):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
10-07 15:13:35.278: E/AndroidRuntime(731):  at android.app.ActivityThread.access$600(ActivityThread.java:130)
10-07 15:13:35.278: E/AndroidRuntime(731):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
10-07 15:13:35.278: E/AndroidRuntime(731):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-07 15:13:35.278: E/AndroidRuntime(731):  at android.os.Looper.loop(Looper.java:137)
10-07 15:13:35.278: E/AndroidRuntime(731):  at android.app.ActivityThread.main(ActivityThread.java:4745)
10-07 15:13:35.278: E/AndroidRuntime(731):  at java.lang.reflect.Method.invokeNative(Native Method)
10-07 15:13:35.278: E/AndroidRuntime(731):  at java.lang.reflect.Method.invoke(Method.java:511)
10-07 15:13:35.278: E/AndroidRuntime(731):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-07 15:13:35.278: E/AndroidRuntime(731):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-07 15:13:35.278: E/AndroidRuntime(731):  at dalvik.system.NativeStart.main(Native Method)
10-07 15:13:35.278: E/AndroidRuntime(731): Caused by: java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase: /data/data/hr.punctum.LociranjePonudaProizvoda/databases/proizvodidb
10-07 15:13:35.278: E/AndroidRuntime(731):  at android.database.sqlite.SQLiteClosable.acquireReference(SQLiteClosable.java:55)
10-07 15:13:35.278: E/AndroidRuntime(731):  at android.database.sqlite.SQLiteDatabase.endTransaction(SQLiteDatabase.java:520)
10-07 15:13:35.278: E/AndroidRuntime(731):  at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:263)
10-07 15:13:35.278: E/AndroidRuntime(731):  at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
10-07 15:13:35.278: E/AndroidRuntime(731):  at hr.punctum.LociranjePonudaProizvoda.ListaProizvoda.onCreate(ListaProizvoda.java:27)
10-07 15:13:35.278: E/AndroidRuntime(731):  at android.app.Activity.performCreate(Activity.java:5008)
10-07 15:13:35.278: E/AndroidRuntime(731):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
10-07 15:13:35.278: E/AndroidRuntime(731):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
10-07 15:13:35.278: E/AndroidRuntime(731):  ... 11 more


推荐答案

p>确保你只使用一个 SQLiteDatabase 的实例。我猜你已经实例化了多个实例,Android正在抱怨结果。

Make sure you are only ever working with one instance of SQLiteDatabase. I'm guessing that you have instantiated multiple instances and Android is complaining as a result.

您应该看看这个 博客帖子

这篇关于尝试重新打开一个已经关闭的对象:SQLiteDatabase的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆