android - Creating and inserting into a database -


i'm trying create basic database , insert 3 users, doesn't work.

this class creates database

package com.example.matadoor.db1;  import android.content.context; import android.database.databaseerrorhandler; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqliteopenhelper;  /** * created matadoor on 06/08/2016. */ public class dbcreat extends sqliteopenhelper {      public final string tbname="t1";     public final string cid="id";     public static string cid2="test";     public final string user="username";      public final string creat="create table "+cid2+"("+cid+"integer primery key auto_increment , "+user+" text); ";      public dbcreat(context context) {         super(context,cid2,null, 1);     }      public dbcreat(context context, string name, sqlitedatabase.cursorfactory factory, int version, databaseerrorhandler errorhandler) {         super(context, name, factory, version, errorhandler);     }      @override     public void oncreate(sqlitedatabase db) {         db.execsql(creat);     }      @override     public void onupgrade(sqlitedatabase db, int oldversion, int newversion)     {  } 

and it's other class handles database - opens it, closes it, , inserts

package com.example.matadoor.db1;  import android.content.contentvalues; import android.content.context; import android.database.cursor; import android.database.sqlite.sqlitedatabase;  /** * created matadoor on 08/08/2016. */ public class dbhandler {      private dbcreat dbc;     private sqlitedatabase sdb;      public  dbhandler(context context)     {         dbc=new dbcreat(context);     }      public void open()     {         sdb=dbc.getwritabledatabase();     }      public void close(){         dbc.close();     }      public string display(int row)     {         cursor cu=sdb.query(dbc.tbname,null,null,null,null,null,null);         cu.movetoposition(row);         string user=cu.getstring(1);         return user;     }       public void insert(string user)     {         contentvalues cn=new contentvalues();         cn.put(dbc.user,user);     } } 

and main class has 1 button inserting user db

package com.example.matadoor.db1;  import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.view; import android.widget.button;  public class main extends appcompatactivity {      button btn;     dbhandler db;      dbcreat dbc;     @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.main);          btn=(button)findviewbyid(r.id.ins);         // dbc.getwritabledatabase();         db.open();          db=new dbhandler(this);         btn.setonclicklistener(new view.onclicklistener() {             @override             public void onclick(view v) {                 string [] user={"ali","reza","ahmed"};                  for(int i=0;i<user.length;i++)                 {                     db.insert(user[i]);                 }             }         });       } } 

so seems error. need switch 2 lines.

    db.open(); // nullpointer here      db=new dbhandler(this); 

assuming there no other errors code, method doing nothing database.

public void insert(string user) {     contentvalues cn=new contentvalues();     cn.put(dbc.user,user); } 

you have call sdb.insert cn variable.


Comments