android - Error in accessing sqlite database -
public class dbopener { private static string db_path = "/data/data/com.edu.tp.iit.mns/databases/"; // path // of // our // database private static string db_name = "finals"; // database name private final context mycontext; private sqlitedatabase db; public dbopener(context context) { mycontext = context; } public void open() { boolean dbexists = checkdatabase(); if (!dbexists) { try { copydatabase(); } catch (ioexception e) { throw new runtimeexception("something bad!!!"); } } string path = db_path + db_name; db = sqlitedatabase.opendatabase(path, null, sqlitedatabase.open_readwrite); } private boolean checkdatabase() { sqlitedatabase checkdb = null; try { // try opening database string path = db_path + db_name; checkdb = sqlitedatabase.opendatabase(path, null, sqlitedatabase.open_readonly); } catch (sqliteexception e) { throw new runtimeexception("something bad111111!!!"); } if (checkdb != null) checkdb.close(); // close db; don’t need return checkdb != null; } my error log file:
06-04 14:00:38.756: e/database(306): sqlite3_open_v2("/data/data/com.edu.tp.iit.mns/databases/finals", &handle, 1, null) failed 06-04 14:00:38.836: e/androidruntime(306): fatal exception: main 06-04 14:00:38.836: e/androidruntime(306): java.lang.runtimeexception: unable resume activity {com.edu.tp.iit.mns/com.edu.tp.iit.mns.lunch}: java.lang.runtimeexception: bad111111!!! 06-04 14:00:38.836: e/androidruntime(306): @ android.app.activitythread.performresumeactivity(activitythread.java:3128) 06-04 14:00:38.836: e/androidruntime(306): @ android.app.activitythread.handleresumeactivity(activitythread.java:3143) 06-04 14:00:38.836: e/androidruntime(306): @ android.app.activitythread.handlelaunchactivity(activitythread.java:2684) 06-04 14:00:38.836: e/androidruntime(306): @ android.app.activitythread.access$2300(activitythread.java:125) 06-04 14:00:38.836: e/androidruntime(306): @ android.app.activitythread$h.handlemessage(activitythread.java:2033) 06-04 14:00:38.836: e/androidruntime(306): @ android.os.handler.dispatchmessage(handler.java:99) 06-04 14:00:38.836: e/androidruntime(306): @ android.os.looper.loop(looper.java:123) 06-04 14:00:38.836: e/androidruntime(306): @ android.app.activitythread.main(activitythread.java:4627) 06-04 14:00:38.836: e/androidruntime(306): @ java.lang.reflect.method.invokenative(native method) 06-04 14:00:38.836: e/androidruntime(306): @ java.lang.reflect.method.invoke(method.java:521) 06-04 14:00:38.836: e/androidruntime(306): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:868) 06-04 14:00:38.836: e/androidruntime(306): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:626) 06-04 14:00:38.836: e/androidruntime(306): @ dalvik.system.nativestart.main(native method) 06-04 14:00:38.836: e/androidruntime(306): caused by: java.lang.runtimeexception: bad111111!!! 06-04 14:00:38.836: e/androidruntime(306): @ com.edu.tp.iit.mns.dbopener.checkdatabase(dbopener.java:50) 06-04 14:00:38.836: e/androidruntime(306): @ com.edu.tp.iit.mns.dbopener.open(dbopener.java:29) 06-04 14:00:38.836: e/androidruntime(306): @ com.edu.tp.iit.mns.lunch.onresume(lunch.java:49) 06-04 14:00:38.836: e/androidruntime(306): @ android.app.instrumentation.callactivityonresume(instrumentation.java:1149) 06-04 14:00:38.836: e/androidruntime(306): @ android.app.activity.performresume(activity.java:3823) 06-04 14:00:38.836: e/androidruntime(306): @ android.app.activitythread.performresumeactivity(activitythread.java:3118) 06-04 14:00:38.836: e/androidruntime(306): ... 12 more my program running fine till deleted database assets folder , data/data/ databases folder , put new database file. cannot continue code because of error. help?
modify method checkdatabase() this:
private boolean checkdatabase() { file dbfile = new file(db_path + db_name); return dbfile.exists(); } see this link reference.
Comments
Post a Comment