java - Android studio sqlite image from drawable insert into database and retrieve into listview -
i have problem in inserting image sqlite. here's code inserting
string query290 = "insert scholar_table(name,top,continent,region,location,introduction,alumni,icon) " + "values ('wesleyan university philippines','290','luzon','region 3','nueva ecija','wup intro','wup alumni','" + r.drawable.top1 +"')"; sqlhandler.executequery(query290); string query291 = "insert scholar_table(name,top,continent,region,location,introduction,alumni, icon) " + "values ('university of philippines diliman','1','luzon','ncr','quezon city','upd intro','upd alumni','" + r.drawable.top10 + "')"; sqlhandler.executequery(query291);
my schooldb class
public class schooldb { private string id, name, top, continent, region, location, introduction, alumni; private byte[] icon; public schooldb() { } public schooldb(string id,string name,string top, string continent, string region, string location, string introduction, string alumni, byte[] icon) { this.id=id; this.name=name; this.top=top; this.continent=continent; this.region=region; this.location=location; this.introduction=introduction; this.alumni=alumni; this.icon=icon; } public void seticon(byte[] icon){ this.icon = icon; } public void setid(string id){ this.id = id; } public void setname(string name) { this.name = name; } public void settop(string top) { this.top = top; } public void setcontinent(string continent) { this.continent = continent; } public void setregion(string region) { this.region = region; } public void setlocation(string location) { this.location = location; } public void setintroduction(string introduction) { this.introduction = introduction; } public void setalumni(string alumni) { this.alumni = alumni; } public string getalumni() { return alumni; } public string getintroduction() { return introduction; } public string getlocation() { return location; } public string getregion() { return region; } public string getcontinent() { return continent; } public string gettop() { return top; } public string getname() { return name; } public string getid() { return id; } public byte[] geticon() { return icon; } }
my handler
public class sqlhandler { public static final string database_name = "schooldb"; public static final int database_version = 1; context context; sqlitedatabase sqldatabase; databasehelper dbhelper; public sqlhandler(context context) { dbhelper = new databasehelper(context, database_name, null, database_version); sqldatabase = dbhelper.getwritabledatabase(); } public void executequery(string query) { try { if (sqldatabase.isopen()) { sqldatabase.close(); } sqldatabase = dbhelper.getwritabledatabase(); sqldatabase.execsql(query); } catch (exception e) { system.out.println("database error " + e); } } public cursor selectquery(string query) { cursor c1 = null; try { if (sqldatabase.isopen()) { sqldatabase.close(); } sqldatabase = dbhelper.getwritabledatabase(); c1 = sqldatabase.rawquery(query, null); } catch (exception e) { system.out.println("database error " + e); } return c1; } }
databasehelper
public class databasehelper extends sqliteopenhelper { public static final string database_name = "schoolar"; public static final string table_name = "scholar_table"; public static final string col_id = "id"; public static final string col_name = "name"; public static final string col_top = "top"; public static final string col_continent = "continent"; public static final string col_region = "region"; public static final string col_location = "location"; public static final string col_introduction = "introduction"; public static final string col_alumni = "alumni"; public static final string col_icon = "icon"; private static final string create_database = "create table " + table_name + " (" + col_id + " integer primary key autoincrement," + col_name + " text," + col_top + " text," + col_continent + " text," + col_region + " text," + col_location + " text," + col_introduction + " text," + col_alumni + " text" + col_icon + " blob," + ")"; sqlitedatabase mdb; sqlhandler sqlhandler; public databasehelper(context context, string name, sqlitedatabase.cursorfactory factory, int version) { super(context, name, factory, version); } @override public void oncreate(sqlitedatabase db) { db.execsql(create_database); } @override public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { db.execsql("drop table if exists " + table_name); oncreate(db); }
code showing list here problem can't image i've inserted
private void showlist() { arraylist<schooldb> contactlist = new arraylist<schooldb>(); contactlist.clear(); string query = "select * scholar_table order top"; cursor c1 = sqlhandler.selectquery(query); if (c1 != null && c1.getcount() != 0) { if (c1.movetofirst()) { { schooldb contactlistitems = new schooldb(); contactlistitems.setid(c1.getstring(c1 .getcolumnindex("id"))); contactlistitems.setname(c1.getstring(c1 .getcolumnindex("name"))); contactlistitems.settop(c1.getstring(c1 .getcolumnindex("top"))); contactlistitems.setcontinent(c1.getstring(c1 .getcolumnindex("continent"))); contactlistitems.setregion(c1.getstring(c1 .getcolumnindex("region"))); contactlistitems.setlocation(c1.getstring(c1 .getcolumnindex("location"))); contactlistitems.setintroduction(c1.getstring(c1 .getcolumnindex("introduction"))); contactlistitems.setalumni(c1.getstring(c1 .getcolumnindex("alumni"))); //contactlistitems.seticon(c1.getblob(c1.getcolumnindex("icon"))); contactlist.add(contactlistitems); } while (c1.movetonext()); } } c1.close(); topschoollistadapter topschoollistadapter = new topschoollistadapter( guestview.this, contactlist); listviewmenu.setadapter(topschoollistadapter); }
and here list adapter. part of problem in setting imageview
public class topschoollistadapter extends baseadapter { context context; arraylist<schooldb> menucatlist; public topschoollistadapter(context context, arraylist<schooldb> list) { this.context = context; menucatlist = list; } @override public int getcount() { return menucatlist.size(); } @override public object getitem(int position) { return menucatlist.get(position); } @override public long getitemid(int position) { return position; } @override public view getview(int position, view convertview, viewgroup arg2) { schooldb menucatlistitems = menucatlist.get(position); if (convertview == null) { layoutinflater inflater = (layoutinflater) context .getsystemservice(context.layout_inflater_service); convertview = inflater.inflate(r.layout.custom_school_list_view, null); } imageview itemicon = (imageview) convertview.findviewbyid(r.id.schoollogo); textview itemnum = (textview) convertview.findviewbyid(r.id.schoolname); itemnum.settext(menucatlistitems.getname()); textview itemdesc = (textview) convertview.findviewbyid(r.id.schoollocation); itemdesc.settext(menucatlistitems.getlocation()); textview itemprice = (textview) convertview.findviewbyid(r.id.schooltop); itemprice.settext(menucatlistitems.gettop()); return convertview; }
Comments
Post a Comment