sqlite - Android SQLiteOpenHelper NullPointerException on getwritabledatabase() -
i'm search hours solution following problem:
i'm using sqlite database androidapplication:
openhelper extends sqliteopenhelper
public openhelper(context context) { super(context, "ukra.db", null, 1); } @override public void oncreate(sqlitedatabase database) { database.execsql("create table client_version (integer myid primary key)"); database.execsql("insert client_version values ('0')"); }
the openhelper used class databaseloader:
private context context; private sqlitedatabase db; private openhelper openhelper; public databaseloader(context context){ //constructor this.context = context; this.opendb(); } public void opendb(){ this.openhelper = new openhelper(this.context); system.out.println("database = " +openhelper); try{ db = this.openhelper.getwritabledatabase(); }catch(exception ex){ ex.printstacktrace(); } system.out.println("database = " +db); }
i create databaseloader in levelcoordinator:
private levelcoordinator(context context) { this.context = context; this.dbloader = new databaseloader(this.context); this.level = new boolean[] { true, false, false }; } public static levelcoordinator getinstance(context context) { if (instance == null){ instance = new levelcoordinator(context); } return instance; }
the levelcoordinator gets context activity:
public class ukra extends activity { private levelcoordinator lc = levelcoordinator.getinstance(this); //... }
the problem nullpointerexception wich thrown call getwritabledatabase
w/system.err( 359): java.lang.nullpointerexception w/system.err( 359): @ android.content.contextwrapper.openorcreatedatabase(contextwrapper.java:203) w/system.err( 359): @ android.database.sqlite.sqliteopenhelper.getwritabledatabase(sqliteopenhelper.java:98) w/system.err( 359): @ de.htw.f4.ai.s4.logic.database.databaseloader.opendb(databaseloader.java:28) w/system.err( 359): @ de.htw.f4.ai.s4.logic.database.databaseloader.<init>(databaseloader.java:21) w/system.err( 359): @ de.htw.f4.ai.s4.logic.levelcoordinator.<init>(levelcoordinator.java:26) w/system.err( 359): @ de.htw.f4.ai.s4.logic.levelcoordinator.getinstance(levelcoordinator.java:35) w/system.err( 359): @ de.htw.f4.ai.s4.ukra.<init>(ukra.java:17) w/system.err( 359): @ java.lang.class.newinstanceimpl(native method) w/system.err( 359): @ java.lang.class.newinstance(class.java:1429) w/system.err( 359): @ android.app.instrumentation.newactivity(instrumentation.java:1021) w/system.err( 359): @ android.app.activitythread.performlaunchactivity(activitythread.java:2577) w/system.err( 359): @ android.app.activitythread.handlelaunchactivity(activitythread.java:2679) w/system.err( 359): @ android.app.activitythread.access$2300(activitythread.java:125) w/system.err( 359): @ android.app.activitythread$h.handlemessage(activitythread.java:2033) w/system.err( 359): @ android.os.handler.dispatchmessage(handler.java:99) w/system.err( 359): @ android.os.looper.loop(looper.java:123) w/system.err( 359): @ android.app.activitythread.main(activitythread.java:4627) w/system.err( 359): @ java.lang.reflect.method.invokenative(native method) w/system.err( 359): @ java.lang.reflect.method.invoke(method.java:521) w/system.err( 359): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:868) w/system.err( 359): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:626) w/system.err( 359): @ dalvik.system.nativestart.main(native method)
has idea why there nullpointer , how can solve it?
Comments
Post a Comment