java - Error opening trace file: No such file or directory(2) (1) no such table: ContactListTable Tried for hours can't find solution -


i new android , java. tried check code against example somehow application keeps forced close while example works well. need please! in advance!

new logcat

07-31 16:51:02.145: e/trace(16532): error opening trace file: no such file or directory (2) 07-31 16:51:02.175: d/androidruntime(16532): shutting down vm 07-31 16:51:02.180: w/dalvikvm(16532): threadid=1: thread exiting uncaught exception (group=0x40fdb2a0) 07-31 16:51:02.180: e/androidruntime(16532): fatal exception: main 07-31 16:51:02.180: e/androidruntime(16532): java.lang.runtimeexception: unable create application com.elson.projectversion.contactsactivityapplication: java.lang.nullpointerexception 07-31 16:51:02.180: e/androidruntime(16532):    @ android.app.activitythread.handlebindapplication(activitythread.java:4254) 07-31 16:51:02.180: e/androidruntime(16532):    @ android.app.activitythread.access$1400(activitythread.java:140) 07-31 16:51:02.180: e/androidruntime(16532):    @ android.app.activitythread$h.handlemessage(activitythread.java:1297) 07-31 16:51:02.180: e/androidruntime(16532):    @ android.os.handler.dispatchmessage(handler.java:99) 07-31 16:51:02.180: e/androidruntime(16532):    @ android.os.looper.loop(looper.java:137) 07-31 16:51:02.180: e/androidruntime(16532):    @ android.app.activitythread.main(activitythread.java:4921) 07-31 16:51:02.180: e/androidruntime(16532):    @ java.lang.reflect.method.invokenative(native method) 07-31 16:51:02.180: e/androidruntime(16532):    @ java.lang.reflect.method.invoke(method.java:511) 07-31 16:51:02.180: e/androidruntime(16532):    @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1038) 07-31 16:51:02.180: e/androidruntime(16532):    @ com.android.internal.os.zygoteinit.main(zygoteinit.java:805) 07-31 16:51:02.180: e/androidruntime(16532):    @ dalvik.system.nativestart.main(native method) 07-31 16:51:02.180: e/androidruntime(16532): caused by: java.lang.nullpointerexception 07-31 16:51:02.180: e/androidruntime(16532):    @ java.util.calendar.settime(calendar.java:1324) 07-31 16:51:02.180: e/androidruntime(16532):    @ java.text.simpledateformat.formatimpl(simpledateformat.java:536) 07-31 16:51:02.180: e/androidruntime(16532):    @ java.text.simpledateformat.format(simpledateformat.java:821) 07-31 16:51:02.180: e/androidruntime(16532):    @ java.text.dateformat.format(dateformat.java:376) 07-31 16:51:02.180: e/androidruntime(16532):    @ com.elson.projectversion.contacts.tostring(contacts.java:91) 07-31 16:51:02.180: e/androidruntime(16532):    @ com.elson.projectversion.contactsactivityapplication.readcontactsfromdb(contactsactivityapplication.java:57)   07-31 16:51:02.180: e/androidruntime(16532):    @ com.elson.projectversion.contactsactivityapplication.oncreate(contactsactivityapplication.java:26) 07-31 16:51:02.180: e/androidruntime(16532):    @ android.app.instrumentation.callapplicationoncreate(instrumentation.java:1014) 07-31 16:51:02.180: e/androidruntime(16532):    @ android.app.activitythread.handlebindapplication(activitythread.java:4251) 07-31 16:51:02.180: e/androidruntime(16532):    ... 10 more 

contacts.java

 package com.elson.projectversion;  import android.content.context; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqliteopenhelper; import android.database.sqlite.sqliteexception; import android.util.log;  public class contacts implements comparable<contacts> {      private long id;     private string name;     private int phone;     private int email;     private date date;     private double runningaverage;         public contacts(string name, int phone,  date date) {         this.name = name;         this.phone = phone;         this.date = date;     }      public contacts(long id, string name,int phone) {         this.id=id;         this.phone=phone;         this.name= (name);      }       public long getid() {          return id;     }     public void setid(long id) {         this.id = id;     }      public int getphone() {         return phone;     }     public void setphone(int phone) {         this.phone = phone;     }     public string getname() {         return name;     }     public void setname(string name) {         this.name = name;     }     public date getdate() {         return date;     }      public long getdateepoch(){         return date.gettime()/1000;     }     public void setdateepoch(long seconds){         date= new date (seconds*1000);     }     public void setdate(date date) {         this.date = date;     }         public void setrunningaverage(double runningaverage) {         this.runningaverage = runningaverage;     }     public boolean equals(object that){         contacts bs = (contacts) that;          return this.date.equals(bs.date);       }       @override        public string tostring() {         string result;          // "id" + id +" "         dateformat df = dateformat.getdateinstance(dateformat.short);         result = df.format(date) + "" + name + "" + phone ;             return result;     }      @override     public int compareto(contacts another) {         // todo auto-generated method stub         return 0;     } 

}

contactsactivityapplication

package com.elson.projectversion;  import java.util.arraylist;  import android.app.application; import android.content.contentvalues; import android.database.cursor; import android.database.sqlite.sqlitedatabase; import android.util.log;  import static com.elson.projectversion.mycontactsql.*;  public class entercontactsactivity extends activity {  private button savebutton; private edittext nameedittext; private edittext phoneedittext; private button exitbutton; private edittext emailedittext; private textview date;  private int month;//private within class private int day; private int year;   @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_addcontacts);      setupviews();      calendar calendar =calendar.getinstance();     year = calendar.get(calendar.year);     month = calendar.get(calendar.month);     day = calendar.get(calendar.day_of_month);      date today = calendar.gettime();     dateformat df = dateformat.getdateinstance(dateformat.medium);     string cs = df.format(today);     date.settext(cs); }   public void saveclickhandler(view v){      string contactsscore;     contactsscore= nameedittext.gettext().tostring();     string name = string.format(contactsscore, null);     contactsscore= phoneedittext.gettext().tostring();     int phone = integer.parseint(contactsscore);      log.d("entercontacts" , "i hear save button");      if( isvalid(phone) ) {         contacts contacts;         date dateofgames= new gregoriancalendar(year,month,day).gettime();         contacts = new contacts (name , phone ,  dateofgames);          contactsactivityapplication app  = (contactsactivityapplication) getapplication();         //might wrong          log.d("debugging", "app type: " + app.getclass().getname());         //need add function addbowlingscores         app.addallcontacts(contacts);          toast.maketext(getapplicationcontext(), "your contact has been saved!", toast.length_short).show();  }      else{         //pop dialog data invalid         alertdialog.builder builder = new alertdialog.builder(this);         builder.settitle("invalid phone number")                .setmessage("phone numbers cannot have more 8 numbers")                .setcancelable(false)                .setpositivebutton("ok",                   new dialoginterface.onclicklistener() {                      @override                     public void onclick(dialoginterface dialog, int which) {                         // todo auto-generated method stub                         dialog.cancel();                      }                 });          alertdialog alert = builder.create();         alert.show();     }     }    private boolean isvalid(int phone ) {      if(phone > 0 && phone <100000000)         return true;     return false;     // todo auto-generated method stub }   public void handleshowhistoryclick (view v) {      intent intent = new intent(this, historyactivity.class);     startactivity(intent); }   private void setupviews() {     exitbutton = (button) findviewbyid(r.id.btnexit);     savebutton =(button) findviewbyid(r.id.btnsave);     nameedittext= (edittext) findviewbyid(r.id.nameedittext);     phoneedittext= (edittext) findviewbyid(r.id.phoneedittext);     emailedittext= (edittext) findviewbyid(r.id.emailedittext);     date = (textview) findviewbyid(r.id.datetextview);  }  @override public boolean oncreateoptionsmenu(menu menu) {     // inflate menu; adds items action bar if present.     getmenuinflater().inflate(r.menu.addcontacts, menu);     return true; } 

}

entercontactsactivity

package com.elson.projectversion;  import java.text.dateformat; import java.util.calendar; import java.util.date; import java.util.gregoriancalendar;  import android.os.bundle; import android.app.activity; import android.app.alertdialog; import android.content.dialoginterface; import android.util.log; import android.view.menu; import android.view.view; import android.widget.button; import android.widget.edittext; import android.widget.textview; import android.widget.toast;  public class entercontactsactivity extends activity {  private button savebutton; private edittext nameedittext; private edittext phoneedittext; private button exitbutton; private edittext emailedittext; private textview date;  private int month;//private within class private int day; private int year;   @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_addcontacts);      setupviews();      calendar calendar =calendar.getinstance();     year = calendar.get(calendar.year);     month = calendar.get(calendar.month);     day = calendar.get(calendar.day_of_month);      date today = calendar.gettime();     dateformat df = dateformat.getdateinstance(dateformat.medium);     string cs = df.format(today);     date.settext(cs); }   public void saveclickhandler(view v){      string contactsscore;     contactsscore= nameedittext.gettext().tostring();     int name = integer.parseint(contactsscore);     contactsscore= phoneedittext.gettext().tostring();     int phone = integer.parseint(contactsscore);     contactsscore = emailedittext.gettext().tostring();     int email = integer.parseint(contactsscore);      log.d("entercontacts" , "i hear save button");      if( isvalid(name) && isvalid(phone) && isvalid(email) ) {         contacts contacts;         date dateofgames= new gregoriancalendar(year,month,day).gettime();         contacts = new contacts (name , phone , email, dateofgames);          contactsactivityapplication app  = (contactsactivityapplication) getapplication();         //might wrong          log.d("debugging", "app type: " + app.getclass().getname());         //need add function addbowlingscores         app.addallcontacts(contacts);          toast.maketext(getapplicationcontext(), "your contact has been saved!", toast.length_short).show();  }      else{         //pop dialog data invalid         alertdialog.builder builder = new alertdialog.builder(this);         builder.settitle("invalid phone number")                .setmessage("phone numbers cannot have more 8 numbers")                .setcancelable(false)                .setpositivebutton("ok",                   new dialoginterface.onclicklistener() {                      @override                     public void onclick(dialoginterface dialog, int which) {                         // todo auto-generated method stub                         dialog.cancel();                      }                 });          alertdialog alert = builder.create();         alert.show();     }     } private boolean isvalid(int phone) {      if(phone <= 0 && phone >=100000000)         return true;     return false;     // todo auto-generated method stub }   private void setupviews() {     exitbutton = (button) findviewbyid(r.id.btnexit);     savebutton =(button) findviewbyid(r.id.btnsave);     nameedittext= (edittext) findviewbyid(r.id.nameedittext);     phoneedittext= (edittext) findviewbyid(r.id.phoneedittext);     emailedittext= (edittext) findviewbyid(r.id.emailedittext);     date = (textview) findviewbyid(r.id.datetextview);  }  @override public boolean oncreateoptionsmenu(menu menu) {     // inflate menu; adds items action bar if present.     getmenuinflater().inflate(r.menu.addcontacts, menu);     return true; }   } 

mycontactssql

package com.elson.projectversion;  import android.content.context; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqliteopenhelper; import android.database.sqlite.sqliteexception; import android.util.log; 

public class mycontactsql extends sqliteopenhelper {

public static final string db_name ="mycontactsql.sqlite"; public static final int db_version = 1; public static string contact_list_table = "contactlisttable"; public static string record_id ="id"; public  static string name = "name"; public static string phone_number="phonenumber";  public mycontactsql(context context) {     super(context, db_name, null, db_version);  }  @override public void oncreate(sqlitedatabase contactlistdb) {       string sqlstatement = "create table " + contact_list_table              + " ("             + record_id + " integer primary key autoincrement not null,"             + name + " long,"             + phone_number +" integer"             +");";              log.d("contact database", sqlstatement);             contactlistdb.execsql(sqlstatement);  }  @override public void onupgrade(sqlitedatabase arg0, int arg1, int arg2) {  } 

}

historyactivity

 import java.util.arraylist;  import android.app.alertdialog; import android.app.listactivity; import android.content.dialoginterface; import android.os.bundle;  import android.util.log; import android.view.view; import android.widget.adapterview; import android.widget.adapterview.onitemclicklistener; import android.widget.arrayadapter; import android.widget.listview;  public class historyactivity extends listactivity {  bundle savedinstancestate; private arraylist <contacts> allcontacts; @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     this.savedinstancestate = savedinstancestate;     setcontentview(r.layout.history_layout);      //get data app     contactsactivityapplication app = (contactsactivityapplication) getapplication();     allcontacts = app.getallcontacts();       //view  --- adapter  ------ data       setlistadapter(             new arrayadapter<contacts> (this, r.layout.history_row,                     allcontacts                     ));          listview listview = this.getlistview();         listview.setonitemclicklistener(                  new onitemclicklistener() {                      @override                     public void onitemclick(adapterview<?> parent, view view,                             int position, long id) {                         verifydeleterow(position);                         log.d("debug", "i hear item selected:" + position);                         // todo auto-generated method stub                      }                   }                   ); }  private void verifydeleterow(final int position){     //pop dialog confirm delete row     alertdialog.builder builder = new alertdialog.builder(this);     builder.settitle("delete series?")            .setmessage("do want delete data?" + allcontacts.get(position))            .setcancelable(false)            .setnegativebutton("no! leave there!",                      new dialoginterface.onclicklistener() {                  @override                 public void onclick(dialoginterface dialog, int which) {                     // todo auto-generated method stub                     dialog.cancel();                  }             })            .setpositivebutton("delete",               new dialoginterface.onclicklistener() {                  @override                 public void onclick(dialoginterface dialog, int which) {                      contacts todelete = allcontacts.get(position);                      contactsactivityapplication app = (contactsactivityapplication) getapplication();                     app.deletebowlingscores(todelete);                     // todo auto-generated method stub                     oncreate(savedinstancestate);                 }             });      alertdialog alert = builder.create();     alert.show();  } } 

in sqlhelper class have created database "db_name" in quotes. means dbname db_name.

super(context, "db_name", null, db_version); 

do this

super(context, db_name, null, db_version); 

hope helps!!


Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

css - Firefox for ubuntu renders wrong colors -