Monday, 15 September 2014

sqlite - application not running particular version in android -



sqlite - application not running particular version in android -

hi in application it's showing errors.my application running in emulators except 1 if running means it's showing log cat errors can please tell me how resolve issues.

databasehandlers class

public class databasehandlers extends sqliteopenhelper { // static variables // database version private static final int database_version = 1; // database name private static final string database_name = "fristregistrationmanager"; // gsfeedbacks table name private static final string table_contacts = "firstregistration"; // gsfeedbacks table columns names private static final string key_id = "id"; private static final string key_name = "name"; private static final string key_email = "email"; private static final string key_ph_no = "number"; public databasehandlers(context context) { super(context, database_name, null, database_version); } // creating tables @override public void oncreate(sqlitedatabase db) { string create_contacts_table = "create table " + table_contacts + "(" + key_id + " integer primary key," + key_name + " text," + key_email + " text," + key_ph_no + " text" + ")"; db.execsql(create_contacts_table); } // upgrading database @override public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { // drop older table if existed db.execsql("drop table if exists " + table_contacts); // create tables 1 time again oncreate(db); } /** * crud(create, read, update, delete) operations */ // adding new contact void addgsfeedback(gsfeedback contact) { sqlitedatabase db = this.getwritabledatabase(); contentvalues values = new contentvalues(); values.put(key_name, contact.getname()); // gsfeedback name values.put(key_email, contact.getemail()); // gsfeedback name values.put(key_ph_no, contact.getphonenumber()); // gsfeedback phone // inserting row db.insert(table_contacts, null, values); db.close(); // closing database connection } // getting single contact gsfeedback getgsfeedback(int id) { sqlitedatabase db = this.getreadabledatabase(); cursor cursor = db.query(table_contacts, new string[] { key_id, key_name,key_email, key_ph_no }, key_id + "=?", new string[] { string.valueof(id) }, null, null, null, null); if (cursor != null) cursor.movetofirst(); gsfeedback contact = new gsfeedback(integer.parseint(cursor.getstring(0)), cursor.getstring(1), cursor.getstring(2),cursor.getstring(3)); // homecoming contact homecoming contact; } // getting gsfeedbacks public arraylist<gsfeedback> getallgsfeedbacks() { arraylist<gsfeedback> contactlist = new arraylist<gsfeedback>(); // select query string selectquery = "select * " + table_contacts; sqlitedatabase db = this.getwritabledatabase(); cursor cursor = db.rawquery(selectquery, null); // looping through rows , adding list if (cursor.movetofirst()) { { gsfeedback contact = new gsfeedback(); contact.setid(integer.parseint(cursor.getstring(0))); contact.setname(cursor.getstring(1)); contact.setemail(cursor.getstring(2)); contact.setphonenumber(cursor.getstring(3)); // adding contact list contactlist.add(contact); } while (cursor.movetonext()); } // homecoming contact list homecoming contactlist; } // updating single contact public int updategsfeedback(gsfeedback contact) { sqlitedatabase db = this.getwritabledatabase(); contentvalues values = new contentvalues(); values.put(key_name, contact.getname()); values.put(key_email, contact.getemail()); values.put(key_ph_no, contact.getphonenumber()); // updating row homecoming db.update(table_contacts, values, key_id + " = ?", new string[] { string.valueof(contact.getid()) }); } // deleting single contact public void deletegsfeedback(gsfeedback contact) { sqlitedatabase db = this.getwritabledatabase(); //db.delete(table_contacts, key_id + " = ?", new string[] { string.valueof(contact.getid()) }); db.delete(table_contacts, null, null); db.close(); } // getting contacts count public int getgsfeedbackscount() { string countquery = "select * " + table_contacts; sqlitedatabase db = this.getreadabledatabase(); cursor cursor = db.rawquery(countquery, null); cursor.close(); // homecoming count homecoming cursor.getcount(); } }

logcat

06-24 19:01:00.203: e/database(592): close() never explicitly called on database '/data/data/com.agilerise.hotel/databases/fristregistrationmanager' 06-24 19:01:00.203: e/database(592): android.database.sqlite.databaseobjectnotclosedexception: application did not close cursor or database object opened here 06-24 19:01:00.203: e/database(592): @ android.database.sqlite.sqlitedatabase.<init>(sqlitedatabase.java:1847) 06-24 19:01:00.203: e/database(592): @ android.database.sqlite.sqlitedatabase.opendatabase(sqlitedatabase.java:820) 06-24 19:01:00.203: e/database(592): @ android.database.sqlite.sqlitedatabase.openorcreatedatabase(sqlitedatabase.java:854) 06-24 19:01:00.203: e/database(592): @ android.database.sqlite.sqlitedatabase.openorcreatedatabase(sqlitedatabase.java:847) 06-24 19:01:00.203: e/database(592): @ android.app.contextimpl.openorcreatedatabase(contextimpl.java:547) 06-24 19:01:00.203: e/database(592): @ android.content.contextwrapper.openorcreatedatabase(contextwrapper.java:203) 06-24 19:01:00.203: e/database(592): @ android.database.sqlite.sqliteopenhelper.getwritabledatabase(sqliteopenhelper.java:118) 06-24 19:01:00.203: e/database(592): @ com.agilerise.hotel.databasehandlers.getallgsfeedbacks(databasehandlers.java:92) 06-24 19:01:00.203: e/database(592): @ com.agilerise.hotel.first.oncreate(first.java:22) 06-24 19:01:00.203: e/database(592): @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1047) 06-24 19:01:00.203: e/database(592): @ android.app.activitythread.performlaunchactivity(activitythread.java:1611) 06-24 19:01:00.203: e/database(592): @ android.app.activitythread.handlelaunchactivity(activitythread.java:1663) 06-24 19:01:00.203: e/database(592): @ android.app.activitythread.access$1500(activitythread.java:117) 06-24 19:01:00.203: e/database(592): @ android.app.activitythread$h.handlemessage(activitythread.java:931) 06-24 19:01:00.203: e/database(592): @ android.os.handler.dispatchmessage(handler.java:99) 06-24 19:01:00.203: e/database(592): @ android.os.looper.loop(looper.java:130) 06-24 19:01:00.203: e/database(592): @ android.app.activitythread.main(activitythread.java:3683) 06-24 19:01:00.203: e/database(592): @ java.lang.reflect.method.invokenative(native method) 06-24 19:01:00.203: e/database(592): @ java.lang.reflect.method.invoke(method.java:507) 06-24 19:01:00.203: e/database(592): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:839) 06-24 19:01:00.203: e/database(592): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:597) 06-24 19:01:00.203: e/database(592): @ dalvik.system.nativestart.main(native method)

try close cursors when done or manage them

close: cursor.close()

managed cursor startmanagingcursor(cursor)

think should help you!

android sqlite

No comments:

Post a Comment