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

Popular posts from this blog

sql - VB.NET Operand type clash: date is incompatible with int error -

SVG stroke-linecap doesn't work for circles in Firefox? -

python - TypeError: Scalar value for argument 'color' is not numeric in openCV -