java - Android: erro NullPointerException on getWritableDatabase() -
this question has answer here:
i have problem nullpointerexception on getwritabledatabase()
database
i trying build small application store information in sqlite table. receive "java.lang.nullpointerexception" exception in getwritabledatabase method. can me? code below.
public class pacientedatabase extends sqliteopenhelper { private static final string db_name = "paciente.sqlite"; private static final int version = 1; private static final string table = "paciente"; public pacientedatabase(context context) { super(context, db_name, null, version); } @override public void oncreate(sqlitedatabase db) { // crear tabla paciente db.execsql("create table paciente (" + "_id integer primary key autoincrement, start_date integer)"); } @override public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { }
}
activiy
public class registropaciente extends actionbaractivity { private button mbotonok; private pacientedatabase mpaciente; private context c; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_registro_paciente); mpaciente = new pacientedatabase(c); mbotonok = (button)findviewbyid(r.id.boton_registro_ok); mbotonok.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { contentvalues datos = new contentvalues(); datos.put("start_date", 1000 ); mpaciente.getwritabledatabase().insert("paciente", null, datos); finish(); } }); }
error in log cat
03-16 22:22:46.531 1181-1181/com.example.franciscodelgadogarcia.projecto e/androidruntime﹕ fatal exception: main process: com.example.franciscodelgadogarcia.projecto, pid: 1181 java.lang.nullpointerexception @ android.database.sqlite.sqliteopenhelper.getdatabaselocked(sqliteopenhelper.java:224) @ android.database.sqlite.sqliteopenhelper.getwritabledatabase(sqliteopenhelper.java:164) @ com.example.franciscodelgadogarcia.projecto.registropaciente$1.onclick(registropaciente.java:84) @ android.view.view.performclick(view.java:4438) @ android.view.view$performclick.run(view.java:18422) @ android.os.handler.handlecallback(handler.java:733) @ android.os.handler.dispatchmessage(handler.java:95) @ android.os.looper.loop(looper.java:136) @ android.app.activitythread.main(activitythread.java:5017) @ java.lang.reflect.method.invokenative(native method) @ java.lang.reflect.method.invoke(method.java:515) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:779) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:595) @ dalvik.system.nativestart.main(native method)
c
object of context
null
initialize before passing c
to pacientedatabase
class constructor :
c=registropaciente.this mpaciente = new pacientedatabase(c);
Comments
Post a Comment