错误日志在这里
06-20 09:45:11.291: E/StrictMode(7682): Finalizing a Cursor that has not been deactivated or closed. database = /data/data/com.example.aaa/databases/Library, table = List, query = SELECT * FROM List WHERE RANDOM_STRING = ?
06-20 09:45:11.291: E/StrictMode(7682): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
06-20 09:45:11.291: E/StrictMode(7682): at android.database.sqlite.SQLiteCursor.<init>(SQLiteCursor.java:98)
06-20 09:45:11.291: E/StrictMode(7682): at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:50)
06-20 09:45:11.291: E/StrictMode(7682): at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1334)
06-20 09:45:11.291: E/StrictMode(7682): at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1176)
06-20 09:45:11.291: E/StrictMode(7682): at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1047)
06-20 09:45:11.291: E/StrictMode(7682): at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1215)
06-20 09:45:11.291: E/StrictMode(7682): at com.example.aaa.ceshi.SQLiteHelper.queryRandomString(SQLiteHelper.java:167)
06-20 09:45:11.291: E/StrictMode(7682): at com.example.aaa.ArchivesActivity.onActivityResult(ArchivesActivity.java:365)
06-20 09:45:11.291: E/StrictMode(7682): at android.app.Activity.dispatchActivityResult(Activity.java:5514)
06-20 09:45:11.291: E/StrictMode(7682): at android.app.ActivityThread.deliverResults(ActivityThread.java:3548)
06-20 09:45:11.291: E/StrictMode(7682): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3595)
06-20 09:45:11.291: E/StrictMode(7682): at android.app.ActivityThread.access$1600(ActivityThread.java:141)
06-20 09:45:11.291: E/StrictMode(7682): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1286)
06-20 09:45:11.291: E/StrictMode(7682): at android.os.Handler.dispatchMessage(Handler.java:102)
06-20 09:45:11.291: E/StrictMode(7682): at android.os.Looper.loop(Looper.java:136)
06-20 09:45:11.291: E/StrictMode(7682): at android.app.ActivityThread.main(ActivityThread.java:5336)
06-20 09:45:11.291: E/StrictMode(7682): at java.lang.reflect.Method.invokeNative(Native Method)
06-20 09:45:11.291: E/StrictMode(7682): at java.lang.reflect.Method.invoke(Method.java:515)
06-20 09:45:11.291: E/StrictMode(7682): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:871)
06-20 09:45:11.291: E/StrictMode(7682): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687)
06-20 09:45:11.291: E/StrictMode(7682): at dalvik.system.NativeStart.main(Native Method)
查询方法在这
//根据条件查询
public Cursor queryRandomString(String tableName,String randomString){
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(tableName, null, "RANDOM_STRING" + " = ?",
new String[]{randomString}, null, null, null);
return cursor;
}
请大神看一看到底是什么原因,头大呀。这个异常是不稳定异常,有时候正常有时候会崩就出这个异常。
06-20 09:45:11.291: E/StrictMode(7682): Finalizing a Cursor that has not been deactivated or closed. database = /data/data/com.example.aaa/databases/Library, table = List, query = SELECT * FROM List WHERE RANDOM_STRING = ?
06-20 09:45:11.291: E/StrictMode(7682): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
06-20 09:45:11.291: E/StrictMode(7682): at android.database.sqlite.SQLiteCursor.<init>(SQLiteCursor.java:98)
06-20 09:45:11.291: E/StrictMode(7682): at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:50)
06-20 09:45:11.291: E/StrictMode(7682): at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1334)
06-20 09:45:11.291: E/StrictMode(7682): at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1176)
06-20 09:45:11.291: E/StrictMode(7682): at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1047)
06-20 09:45:11.291: E/StrictMode(7682): at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1215)
06-20 09:45:11.291: E/StrictMode(7682): at com.example.aaa.ceshi.SQLiteHelper.queryRandomString(SQLiteHelper.java:167)
06-20 09:45:11.291: E/StrictMode(7682): at com.example.aaa.ArchivesActivity.onActivityResult(ArchivesActivity.java:365)
06-20 09:45:11.291: E/StrictMode(7682): at android.app.Activity.dispatchActivityResult(Activity.java:5514)
06-20 09:45:11.291: E/StrictMode(7682): at android.app.ActivityThread.deliverResults(ActivityThread.java:3548)
06-20 09:45:11.291: E/StrictMode(7682): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3595)
06-20 09:45:11.291: E/StrictMode(7682): at android.app.ActivityThread.access$1600(ActivityThread.java:141)
06-20 09:45:11.291: E/StrictMode(7682): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1286)
06-20 09:45:11.291: E/StrictMode(7682): at android.os.Handler.dispatchMessage(Handler.java:102)
06-20 09:45:11.291: E/StrictMode(7682): at android.os.Looper.loop(Looper.java:136)
06-20 09:45:11.291: E/StrictMode(7682): at android.app.ActivityThread.main(ActivityThread.java:5336)
06-20 09:45:11.291: E/StrictMode(7682): at java.lang.reflect.Method.invokeNative(Native Method)
06-20 09:45:11.291: E/StrictMode(7682): at java.lang.reflect.Method.invoke(Method.java:515)
06-20 09:45:11.291: E/StrictMode(7682): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:871)
06-20 09:45:11.291: E/StrictMode(7682): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687)
06-20 09:45:11.291: E/StrictMode(7682): at dalvik.system.NativeStart.main(Native Method)
查询方法在这
//根据条件查询
public Cursor queryRandomString(String tableName,String randomString){
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(tableName, null, "RANDOM_STRING" + " = ?",
new String[]{randomString}, null, null, null);
return cursor;
}
请大神看一看到底是什么原因,头大呀。这个异常是不稳定异常,有时候正常有时候会崩就出这个异常。