java - android passing variables from inside database class -
java - android passing variables from inside database class -
i trying pass values within database(that extends sqliteopenhelper) class. using cursor info database giving null values other activities.
here database: has default values within , inserted
public class databasemaster extends sqliteopenhelper { sqlitedatabase db; private static final string log = "databasehelper"; // database version private static final int database_version = 1; // database name private static final string database_name = "rates"; // table names public static final string key_er_id = "er_id"; public static final string key_er_usedornew = "used_or_new"; public static final string key_er_tenor = "er_tenor"; public static final string key_er_rate = "er_rate"; // asuransi rate public static final string key_as_id = "as_id"; public static final string key_as_regional = "regional"; public static final string key_as_tenor = "as_tenor"; public static final string key_as_tlo = "tlo"; public static final string key_as_comprehensive = "comprehensive"; public static final string key_as_combine = "combine"; public static final string table_effective_rate = "effective_rate"; public static final string table_asuransi_rate = "asuransi_rate"; public databasemaster(context context) { super(context, database_name, null, database_version); // todo auto-generated constructor stub } @override public void oncreate(sqlitedatabase db) { // todo auto-generated method stub seek { db.begintransaction(); db.execsql("create table " + table_effective_rate + " (" + key_er_id + " integer primary key, " + key_er_usedornew + " text not null, " + key_er_tenor + " integer," + key_er_rate + " real)"); db.execsql("create table " + table_asuransi_rate + " (" + key_as_id + " integer primary key, " + key_as_regional + " integer, " + key_as_tenor + " integer," + key_as_tlo + " real," + key_as_comprehensive + " real," + key_as_combine + " real)"); // inserts pre-defined departments inserters(db); insertass(db); db.settransactionsuccessful(); } { db.endtransaction(); } } @override public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { // todo auto-generated method stub db.execsql("drop table if exists " + table_effective_rate); db.execsql("drop table if exists " + table_asuransi_rate); // db.execsql("drop trigger if exists er_id_trigger"); // db.execsql("drop trigger if exists er_id_trigger22"); // db.execsql("drop trigger if exists as_id_trigger"); // db.execsql("drop trigger if exists as_id_trigger22"); oncreate(db); } void adderrate(entryeffectiverate eer) { sqlitedatabase db = this.getwritabledatabase(); contentvalues valueser = new contentvalues(); valueser.put(key_er_id, eer.geterid()); valueser.put(key_er_usedornew, eer.geterkondisi()); valueser.put(key_er_tenor, eer.getertenor()); valueser.put(key_er_rate, eer.geterrate()); // values.put(key_created_at, getdatetime()); // insert row // long er_id = db.insert(table_effective_rate, null, valueser); // db.close(); // homecoming er_id; } int getercount() { sqlitedatabase db = this.getwritabledatabase(); cursor cur = db.rawquery("select * " + table_effective_rate, null); int x = cur.getcount(); cur.close(); homecoming x; } cursor getallerates() { sqlitedatabase db = this.getwritabledatabase(); // cursor cur= // db.rawquery("select "+colid+" _id , "+colname+", "+colage+" "+employeetable, // new string [] {}); // cursor cur= db.rawquery("select * "+viewemps,null); cursor cur = db.rawquery("select " + key_er_id + " _id, " + key_er_usedornew + ", " + key_er_tenor + ", " + key_er_rate + ", " + " " + table_effective_rate, new string[] {}); cur.close(); homecoming cur; } public list<entryeffectiverate> getalleffectiverates() { list<entryeffectiverate> effectiverates = new arraylist<entryeffectiverate>(); string selectquery = "select * " + table_effective_rate; log.e(log, selectquery); sqlitedatabase db = this.getreadabledatabase(); cursor c = db.rawquery(selectquery, null); // looping through rows , adding list if (c.movetofirst()) { { entryeffectiverate ergt = new entryeffectiverate(); ergt.seterid(c.getint(c.getcolumnindex(key_er_id))); ergt.seterkondisi(c.getstring(c .getcolumnindex(key_er_usedornew))); ergt.setertenor(c.getint(c.getcolumnindex(key_er_tenor))); ergt.seterrate(c.getdouble(c.getcolumnindex(key_er_rate))); // add together effectiverates.add(ergt); } while (c.movetonext()); } // db.close(); c.close(); homecoming effectiverates; } public int updateentryeffectiverate(entryeffectiverate er) { sqlitedatabase db = this.getwritabledatabase(); contentvalues values = new contentvalues(); values.put(key_er_id, er.geterid()); values.put(key_er_usedornew, er.geterkondisi()); values.put(key_er_tenor, er.getertenor()); values.put(key_er_rate, er.geterrate()); // values.put(key_created_at, getdatetime()); // updating row homecoming db.update(table_effective_rate, values, key_er_id + " = ?", new string[] { string.valueof(er.geterid()) }); } // public void deleteentryeffectiverate(long er_id) { sqlitedatabase db = this.getwritabledatabase(); db.delete(table_effective_rate, key_er_id + " = ?", new string[] { string.valueof(er_id) }); } void addasrate(entryasuransirate ear) { sqlitedatabase db = this.getwritabledatabase(); contentvalues valuesas = new contentvalues(); valuesas.put(key_as_id, ear.getasid()); valuesas.put(key_as_regional, ear.getaszona()); valuesas.put(key_as_tenor, ear.getastenor()); valuesas.put(key_as_tlo, ear.getastlo()); valuesas.put(key_as_comprehensive, ear.getascomp()); valuesas.put(key_as_combine, ear.getascomb()); // values.put(key_created_at, getdatetime()); // insert row // long er_id = db.insert(table_asuransi_rate, null, valuesas); // db.close(); // homecoming er_id; } cursor getallasrates() { sqlitedatabase db = this.getwritabledatabase(); cursor cur = db.rawquery("select " + key_as_id + " _id, " + key_as_regional + ", " + key_as_tenor + ", " + key_as_tlo + ", " + key_as_comprehensive + ", " + key_as_combine + ", " + " " + table_asuransi_rate, new string[] {}); cur.close(); homecoming cur; } int getascount() { sqlitedatabase db = this.getwritabledatabase(); cursor cur = db.rawquery("select * " + table_asuransi_rate, null); int x = cur.getcount(); cur.close(); homecoming x; } public list<entryasuransirate> getallasuransirates() { list<entryasuransirate> asuransirates = new arraylist<entryasuransirate>(); string selectquery = "select * " + table_asuransi_rate; log.e(log, selectquery); sqlitedatabase db = this.getreadabledatabase(); cursor c = db.rawquery(selectquery, null); // looping through rows , adding list if (c.movetofirst()) { { entryasuransirate asgt = new entryasuransirate(); asgt.setasid(c.getint(c.getcolumnindex(key_as_id))); asgt.setaszona(c.getint(c.getcolumnindex(key_as_regional))); asgt.setastenor(c.getint(c.getcolumnindex(key_as_tenor))); asgt.setastlo(c.getdouble(c.getcolumnindex(key_as_tlo))); asgt.setascomp(c.getdouble(c .getcolumnindex(key_as_comprehensive))); asgt.setascomb(c.getdouble(c.getcolumnindex(key_as_combine))); // add together asuransirates.add(asgt); } while (c.movetonext()); } // db.close(); c.close(); homecoming asuransirates; } public int updateentryasuransirate(entryasuransirate ear) { sqlitedatabase db = this.getwritabledatabase(); contentvalues valuesas = new contentvalues(); valuesas.put(key_as_id, ear.getasid()); valuesas.put(key_as_regional, ear.getaszona()); valuesas.put(key_as_tenor, ear.getastenor()); valuesas.put(key_as_tlo, ear.getastlo()); valuesas.put(key_as_comprehensive, ear.getascomp()); valuesas.put(key_as_combine, ear.getascomb()); // values.put(key_created_at, getdatetime()); // updating row homecoming db.update(table_asuransi_rate, valuesas, key_as_id + " = ?", new string[] { string.valueof(ear.getasid()) }); } // public void deleteentryasuransirate(long as_id) { sqlitedatabase db = this.getwritabledatabase(); db.delete(table_asuransi_rate, key_as_id + " = ?", new string[] { string.valueof(as_id) }); } void inserters(sqlitedatabase db) { seek { db.begintransaction(); contentvalues cv = new contentvalues(); cv.put(key_er_id, 1); cv.put(key_er_usedornew, "baru"); cv.put(key_er_tenor, 12); cv.put(key_er_rate, 12.1); db.insert(table_effective_rate, key_er_id, cv); cv.put(key_er_id, 2); cv.put(key_er_usedornew, "baru"); cv.put(key_er_tenor, 24); cv.put(key_er_rate, 12.2); db.insert(table_effective_rate, key_er_id, cv); cv.put(key_er_id, 3); cv.put(key_er_usedornew, "baru"); cv.put(key_er_tenor, 36); cv.put(key_er_rate, 12.3); db.insert(table_effective_rate, key_er_id, cv); cv.put(key_er_id, 4); cv.put(key_er_usedornew, "baru"); cv.put(key_er_tenor, 48); cv.put(key_er_rate, 12.4); db.insert(table_effective_rate, key_er_id, cv); cv.put(key_er_id, 5); cv.put(key_er_usedornew, "baru"); cv.put(key_er_tenor, 60); cv.put(key_er_rate, 12.5); db.insert(table_effective_rate, key_er_id, cv); cv.put(key_er_id, 6); cv.put(key_er_usedornew, "baru"); cv.put(key_er_tenor, 12); cv.put(key_er_rate, 12.6); db.insert(table_effective_rate, key_er_id, cv); cv.put(key_er_id, 7); cv.put(key_er_usedornew, "baru"); cv.put(key_er_tenor, 24); cv.put(key_er_rate, 12.7); db.insert(table_effective_rate, key_er_id, cv); cv.put(key_er_id, 8); cv.put(key_er_usedornew, "baru"); cv.put(key_er_tenor, 36); cv.put(key_er_rate, 12.8); db.insert(table_effective_rate, key_er_id, cv); cv.put(key_er_id, 9); cv.put(key_er_usedornew, "baru"); cv.put(key_er_tenor, 48); cv.put(key_er_rate, 12.9); db.insert(table_effective_rate, key_er_id, cv); cv.put(key_er_id, 10); cv.put(key_er_usedornew, "baru"); cv.put(key_er_tenor, 60); cv.put(key_er_rate, 13); db.insert(table_effective_rate, key_er_id, cv); // db.insert(table_effective_rate, key_er_id, cv); db.settransactionsuccessful(); } { db.endtransaction(); } // db.close(); } void insertass(sqlitedatabase db) { seek { db.begintransaction(); contentvalues cv = new contentvalues(); cv.put(key_as_id, 1); cv.put(key_as_regional, 1); cv.put(key_as_tenor, 12); cv.put(key_as_tlo, 1.00); cv.put(key_as_comprehensive, 2.00); cv.put(key_as_combine, 3.00); db.insert(table_asuransi_rate, key_as_id, cv); cv.put(key_as_id, 2); cv.put(key_as_regional, 1); cv.put(key_as_tenor, 24); cv.put(key_as_tlo, 1.01); cv.put(key_as_comprehensive, 2.01); cv.put(key_as_combine, 3.01); db.insert(table_asuransi_rate, key_as_id, cv); cv.put(key_as_id, 3); cv.put(key_as_regional, 1); cv.put(key_as_tenor, 36); cv.put(key_as_tlo, 1.02); cv.put(key_as_comprehensive, 2.02); cv.put(key_as_combine, 3.02); db.insert(table_asuransi_rate, key_as_id, cv); cv.put(key_as_id, 4); cv.put(key_as_regional, 1); cv.put(key_as_tenor, 48); cv.put(key_as_tlo, 1.03); cv.put(key_as_comprehensive, 2.03); cv.put(key_as_combine, 3.03); db.insert(table_asuransi_rate, key_as_id, cv); cv.put(key_as_id, 5); cv.put(key_as_regional, 1); cv.put(key_as_tenor, 60); cv.put(key_as_tlo, 1.04); cv.put(key_as_comprehensive, 2.04); cv.put(key_as_combine, 3.04); db.insert(table_asuransi_rate, key_as_id, cv); cv.put(key_as_id, 6); cv.put(key_as_regional, 2); cv.put(key_as_tenor, 12); cv.put(key_as_tlo, 1.05); cv.put(key_as_comprehensive, 2.05); cv.put(key_as_combine, 3.05); db.insert(table_asuransi_rate, key_as_id, cv); cv.put(key_as_id, 7); cv.put(key_as_regional, 2); cv.put(key_as_tenor, 24); cv.put(key_as_tlo, 1.06); cv.put(key_as_comprehensive, 2.06); cv.put(key_as_combine, 3.06); db.insert(table_asuransi_rate, key_as_id, cv); cv.put(key_as_id, 8); cv.put(key_as_regional, 2); cv.put(key_as_tenor, 36); cv.put(key_as_tlo, 1.07); cv.put(key_as_comprehensive, 2.07); cv.put(key_as_combine, 3.07); db.insert(table_asuransi_rate, key_as_id, cv); cv.put(key_as_id, 9); cv.put(key_as_regional, 2); cv.put(key_as_tenor, 48); cv.put(key_as_tlo, 1.08); cv.put(key_as_comprehensive, 2.08); cv.put(key_as_combine, 3.08); db.insert(table_asuransi_rate, key_as_id, cv); cv.put(key_as_id, 10); cv.put(key_as_regional, 2); cv.put(key_as_tenor, 60); cv.put(key_as_tlo, 1.09); cv.put(key_as_comprehensive, 2.09); cv.put(key_as_combine, 3.09); db.insert(table_asuransi_rate, key_as_id, cv); cv.put(key_as_id, 11); cv.put(key_as_regional, 3); cv.put(key_as_tenor, 12); cv.put(key_as_tlo, 1.10); cv.put(key_as_comprehensive, 2.10); cv.put(key_as_combine, 3.10); db.insert(table_asuransi_rate, key_as_id, cv); cv.put(key_as_id, 12); cv.put(key_as_regional, 3); cv.put(key_as_tenor, 24); cv.put(key_as_tlo, 1.11); cv.put(key_as_comprehensive, 2.11); cv.put(key_as_combine, 3.11); db.insert(table_asuransi_rate, key_as_id, cv); cv.put(key_as_id, 13); cv.put(key_as_regional, 3); cv.put(key_as_tenor, 36); cv.put(key_as_tlo, 1.12); cv.put(key_as_comprehensive, 2.12); cv.put(key_as_combine, 3.12); db.insert(table_asuransi_rate, key_as_id, cv); cv.put(key_as_id, 14); cv.put(key_as_regional, 3); cv.put(key_as_tenor, 48); cv.put(key_as_tlo, 1.13); cv.put(key_as_comprehensive, 2.13); cv.put(key_as_combine, 3.13); db.insert(table_asuransi_rate, key_as_id, cv); cv.put(key_as_id, 15); cv.put(key_as_regional, 3); cv.put(key_as_tenor, 60); cv.put(key_as_tlo, 1.14); cv.put(key_as_comprehensive, 2.14); cv.put(key_as_combine, 3.14); db.insert(table_asuransi_rate, key_as_id, cv); db.settransactionsuccessful(); } { db.endtransaction(); } // db1.close(); } public cursor getervalues(int index) { string from[] = { "key_er_usedornew", "key_er_tenor", "key_er_rate" }; string = databasemaster.key_er_id + "=?"; string[] whereargs = new string[] { index + "" }; cursor cursor = db.query(databasemaster.table_effective_rate, from, where, whereargs, null, null, null, null); homecoming cursor; } class datahandler extends activity { public void getdata(int id) { cursor c = getervalues(id); if (c != null) { while (c.movetonext()) { string uorn = c.getstring(c.getcolumnindex("used_or_new")); int er_t = c.getint(c.getcolumnindex("er_tenor")); double er_r = c.getdouble(c.getcolumnindex("er_rate")); // utilize these strings want intent person = new intent(this, mediatormaster.class); person.putextra("used_or_new", uorn); person.putextra("er_tenor", er_t); person.putextra("er_rate", er_r); startactivity(person); } } } } // closing database public void closedb() { sqlitedatabase db = this.getreadabledatabase(); if (db != null && db.isopen()) db.close(); } @override public void onopen(sqlitedatabase db) { super.onopen(db); if (!db.isreadonly()) { // enable foreign key constraints db.execsql("pragma foreign_keys=on;"); } } } the other suppose display info sent via intent:
public class mediatormaster extends activity { @override protected void oncreate(bundle unpack) { // todo auto-generated method stub super.oncreate(unpack); setcontentview(r.layout.test); unpack = getintent().getextras(); //for(){ if (unpack != null) { string uorn = unpack.getstring("used_or_new"); //int er_t = unpack.getint("er_t"); //double er_r = unpack.getdouble("er_r"); message.message(this, "result :"+ uorn + " " /*+ er_t + " " + er_r*/); } else { message.message(this, "unread datas"); } // } } } edit: have class display how many entries , display datas. created create sure if datas there.
the class display:
public class mainactivity extends activity { // database helper databasemaster db; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); // sqlitedatabase db = this.getreadaledatabase(); //db = new databasehelper(getapplicationcontext()); db = new databasemaster(getapplicationcontext()); log.d("effectiverate count", " effectiveratecount: " + db.getascount()); log.d("asuransirate count", " asuransiratecount: " + db.getercount()); // getting er log.d("get er", "getting er"); list<entryeffectiverate> alleffectiverate = db.getalleffectiverates(); (entryeffectiverate er : alleffectiverate) { log.d("er_ids", string.valueof(er.geterid())); log.d("er_rates", er.geterkondisi()); log.d("er_tenors", string.valueof(er.getertenor())); log.d("er_rates", string.valueof(er.geterrate())); } // getting log.d("get as", "getting as"); list<entryasuransirate> allasuransirate = db.getallasuransirates(); (entryasuransirate : allasuransirate) { log.d("as_ids", string.valueof(as.getasid())); log.d("as_tenors", string.valueof(as.getastenor())); log.d("as_tlos", string.valueof(as.getastlo())); log.d("as_comps", string.valueof(as.getascomp())); log.d("as_combs", string.valueof(as.getascomb())); } // don't forget close database connection db.closedb(); }} other classes constructor, defining paramaters of input:
public class entryasuransirate { int as_id; int aszona; int astenor; double astlo; double ascomp; double ascomb; // string created_at; // constructors public entryasuransirate() { } public entryasuransirate(int aszona, int astenor, double astlo, double ascomp, double ascomb) { this.aszona = aszona; this.astenor = astenor; this.astlo = astlo; this.ascomp = ascomp; this.ascomb = ascomb; } public entryasuransirate(int as_id, int aszona, int astenor, double astlo, double ascomp, double ascomb) { this.as_id = as_id; this.aszona = aszona; this.astenor = astenor; this.astlo = astlo; this.ascomp = ascomp; this.ascomb = ascomb; } // setters public void setasid(int as_id) { this.as_id = as_id; } public void setaszona(int aszona) { this.aszona = aszona; } public void setastenor(int astenor) { this.astenor = astenor; } public void setastlo(double astlo) { this.astlo = astlo; } public void setascomp(double ascomp) { this.ascomp = ascomp; } public void setascomb(double ascomb) { this.ascomb = ascomb; } // public void setcreatedat(string created_at){ // this.created_at = created_at; // } // getters public long getasid() { homecoming this.as_id; } public int getaszona() { homecoming this.aszona; } public int getastenor() { homecoming this.astenor; } public double getastlo() { homecoming this.astlo; } public double getascomp() { homecoming this.ascomp; } public double getascomb() { homecoming this.ascomb; } } , public class entryeffectiverate { int er_id; string erkondisi; int ertenor; double errate; //string created_at; // constructors public entryeffectiverate() { } public entryeffectiverate(string erkondisi, int ertenor, double errate) { this.erkondisi = erkondisi; this.ertenor = ertenor; this.errate = errate; } public entryeffectiverate(int er_id, string erkondisi, int ertenor, double errate) { this.er_id = er_id; this.erkondisi = erkondisi; this.ertenor = ertenor; this.errate = errate; } // setters public void seterid(int er_id) { this.er_id = er_id; } public void seterkondisi(string erkondisi) { this.erkondisi = erkondisi; } public void setertenor(int ertenor) { this.ertenor = ertenor; } public void seterrate(double errate){ this.errate = errate; } //public void setcreatedat(string created_at){ // this.created_at = created_at; //} // getters public long geterid() { homecoming this.er_id; } public string geterkondisi() { homecoming this.erkondisi; } public int getertenor() { homecoming this.ertenor; } public double geterrate(){ homecoming this.errate; } } logcat result when mainactivity executed/run
04-07 14:35:11.827: d/effectiverate count(395): effectiveratecount: 15 04-07 14:35:11.837: d/asuransirate count(395): asuransiratecount: 10 04-07 14:35:11.837: d/get er(395): getting er 04-07 14:35:11.837: e/databasehelper(395): select * effective_rate 04-07 14:35:11.847: d/er_ids(395): 1 04-07 14:35:11.867: d/er_rates(395): baru 04-07 14:35:11.867: d/er_tenors(395): 12 04-07 14:35:11.890: d/er_rates(395): 12.1 04-07 14:35:11.890: d/er_ids(395): 2 04-07 14:35:11.890: d/er_rates(395): baru 04-07 14:35:11.890: d/er_tenors(395): 24 04-07 14:35:11.890: d/er_rates(395): 12.2 04-07 14:35:11.890: d/er_ids(395): 3 04-07 14:35:11.890: d/er_rates(395): baru 04-07 14:35:11.890: d/er_tenors(395): 36 04-07 14:35:11.890: d/er_rates(395): 12.3 04-07 14:35:11.897: d/er_ids(395): 4 04-07 14:35:11.897: d/er_rates(395): baru 04-07 14:35:11.897: d/er_tenors(395): 48 04-07 14:35:11.897: d/er_rates(395): 12.4 04-07 14:35:11.897: d/er_ids(395): 5 04-07 14:35:11.897: d/er_rates(395): baru 04-07 14:35:11.897: d/er_tenors(395): 60 04-07 14:35:11.897: d/er_rates(395): 12.5 04-07 14:35:11.897: d/er_ids(395): 6 04-07 14:35:11.897: d/er_rates(395): baru 04-07 14:35:11.897: d/er_tenors(395): 12 04-07 14:35:11.897: d/er_rates(395): 12.6 04-07 14:35:11.897: d/er_ids(395): 7 04-07 14:35:11.934: d/er_rates(395): baru 04-07 14:35:11.934: d/er_tenors(395): 24 04-07 14:35:11.937: d/er_rates(395): 12.7 04-07 14:35:11.937: d/er_ids(395): 8 04-07 14:35:11.937: d/er_rates(395): baru 04-07 14:35:11.937: d/er_tenors(395): 36 04-07 14:35:11.937: d/er_rates(395): 12.8 04-07 14:35:11.937: d/er_ids(395): 9 04-07 14:35:11.937: d/er_rates(395): baru 04-07 14:35:11.937: d/er_tenors(395): 48 04-07 14:35:11.937: d/er_rates(395): 12.9 04-07 14:35:11.937: d/er_ids(395): 10 04-07 14:35:11.937: d/er_rates(395): baru 04-07 14:35:11.937: d/er_tenors(395): 60 04-07 14:35:11.937: d/er_rates(395): 13.0 04-07 14:35:11.937: d/get as(395): getting 04-07 14:35:11.937: e/databasehelper(395): select * asuransi_rate 04-07 14:35:11.947: d/as_ids(395): 1 04-07 14:35:11.957: d/as_tenors(395): 12 04-07 14:35:11.957: d/as_tlos(395): 1.0 04-07 14:35:11.957: d/as_comps(395): 2.0 04-07 14:35:11.957: d/as_combs(395): 3.0 . . . 04-07 14:35:12.007: d/as_ids(395): 15 04-07 14:35:12.007: d/as_tenors(395): 60 04-07 14:35:12.047: d/as_tlos(395): 1.14 04-07 14:35:12.047: d/as_comps(395): 2.14 04-07 14:35:12.047: d/as_combs(395): 3.14 04-07 14:35:16.258: w/keycharactermap(395): no keyboard id 0 04-07 14:35:16.258: w/keycharactermap(395): using default keymap: /system/usr/keychars/qwerty.kcm.bin 04-07 14:35:54.967: d/dalvikvm(395): gc_for_malloc freed 5071 objects / 280936 bytes in 70ms 04-07 14:35:57.150: w/keycharactermap(395): no keyboard id 0 04-07 14:35:57.150: w/keycharactermap(395): using default keymap: /system/usr/keychars/qwerty.kcm.bin 04-07 14:42:28.127: w/iinputconnectionwrapper(395): showstatusicon on inactive inputconnection 04-07 14:42:33.598: d/dalvikvm(395): gc_explicit freed 1992 objects / 76432 bytes in 55ms when runs give message "unread datas". means when trying getextras got null values. wrong? want pass inserted datas new activity(mediatormaster , used checking whether extras there or not) later calculated. how that? suggestion?
thanks in advance
you're closing cursors before homecoming them.
if you're going homecoming cursors, close them when you're done them in calling function.
cursor getallasrates() { sqlitedatabase db = this.getwritabledatabase(); cursor cur = db.rawquery("select " + key_as_id + " _id, " + key_as_regional + ", " + key_as_tenor + ", " + key_as_tlo + ", " + key_as_comprehensive + ", " + key_as_combine + ", " + " " + table_asuransi_rate, new string[] {}); //close cursor in calling function after finished //cur.close(); homecoming cur; } this 1 too:
cursor getallerates() { sqlitedatabase db = this.getwritabledatabase(); // cursor cur= // db.rawquery("select "+colid+" _id , "+colname+", "+colage+" "+employeetable, // new string [] {}); // cursor cur= db.rawquery("select * "+viewemps,null); cursor cur = db.rawquery("select " + key_er_id + " _id, " + key_er_usedornew + ", " + key_er_tenor + ", " + key_er_rate + ", " + " " + table_effective_rate, new string[] {}); //close cursor in calling function after finished //cur.close(); homecoming cur; } update:
so, looks there issue piece of code, modified , posted below. seek accessing columns directly, , don't utilize while loop, since looks cursor homecoming 1 result.
if "cursor count: " log entry gives size of zero, query not returning data.
this shows should close cursor.
class datahandler extends activity { public void getdata(int id) { cursor c = getervalues(id); log.d(log, "cursor count: " + c.getcount()); if (c != null) { if (c.movetofirst()) { string uorn = c.getstring(0); int er_t = c.getint(1); double er_r = c.getdouble(2); // utilize these strings want intent person = new intent(this, mediatormaster.class); person.putextra("used_or_new", uorn); person.putextra("er_tenor", er_t); person.putextra("er_rate", er_r); startactivity(person); } else{ log.e(log, "cursor not movetofirst "); } } c.close(); //close cursor here } } java android sqlite sqliteopenhelper
Comments
Post a Comment