How can I insert data from a text file into a sql database in android? -
i'm quite new sqlite databases , need using external text file create initial database store bunch of items can selected , added second database. put in context, want have initial database stores list of grocery store items. each item have 2 traits them, name , type. there items such as( name bread, type bakery. name grape juice, type beverage. name toothbrush, type toiletries. )
i need go this:
grocerystore.txt -- -- -- -- -- -- name - type bread - bakery rolls - bakery juice - beverages soda - beverages to this:
dbhelper.insert("bread", "bakery"); or:
dbhelper.insert(name, type); for each item in text file.
first of all, know how format text file, or other type of file read , inserted database if text file not easiest way go this.
second, how go reading text file , inserting database?
i'm thinking use buffered reader , inputstream within loop go , insert each item database. i'm not sure how parse each line give each item name , type inserted database, , how format text file read.
any appreciated have found little using external files import data sql database pertains situation.
in apps have static or default database use xml file data sort of this:
default_grocerystore.xml stored in assets folder:
<default_grocerystore> <grocery> <name>bread</name> <type>bakery</type> </grocery> <grocery> <name>rolls</name> <type>bakery</type> </grocery> <grocery> <name>juice</name> <type>beverages</type> </grocery> <grocery> <name>soda</name> <type>beverages</type> </grocery> </default_grocerystore> then in oncreate in database class create database tables populate them xml this:
private void populategrocery(sqlitedatabase db) { arraylist<groceryobj> groceryarraylist; groceryarraylist = buildgroceryarraylist(); string insertstmt = null; (int = 0; < groceryarraylist.size(); i++) { insertstmt = "insert " + grocery_table + " (" + grocery_key_name + ", " + grocery_key_type + ") " + "values (\"" + groceryarraylist.get(i).getname() + "\", \""+groceryarraylist.get(i).gettype()+"\");"; db.execsql(insertstmt); } private arraylist<groceryobj> buildgroceryarraylist() { arraylist<groceryobj> al = new arraylist<groceryobj>(); documentbuilderfactory factory = documentbuilderfactory .newinstance(); try { documentbuilder builder = factory.newdocumentbuilder(); inputstream raw = context.getassets().open( "default_grocerys.xml"); document dom = builder.parse(raw); element root = dom.getdocumentelement(); nodelist groceryitems = root.getelementsbytagname("grocery"); (int = 0; < groceryitems.getlength(); i++) { string name= null; string type= null; node item = groceryitems.item(i); nodelist groceryitem = item.getchildnodes(); (int j = 0; j < groceryitem.getlength(); j++) { node nodeitem= groceryitem.item(j); string nodename= noteitem.getnodename(); if (nodename.equalsignorecase("name")) { name= nodeitem.getfirstchild().getnodevalue(); } else if (nodename.equalsignorecase("type")) { type= nodeitem.getfirstchild().getnodevalue(); } } al.add(new groceryobj(name, type)); } } catch (exception e) { e.printstacktrace(); } return al; } }
Comments
Post a Comment