How to write into a json file in Android -
i using bundled json file in application. want read , write data json file. have listview displays available data in json , edittext user enters data. data has written json. how this?
this code...
public class mainactivity extends activity { string myjsonstring; arraylist<data> web = new arraylist<data>(); @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); jsonparser(); } private void jsonparser() { // reading text file assets folder stringbuffer sb = new stringbuffer(); bufferedreader br = null; try { br = new bufferedreader(new inputstreamreader(getassets().open( "single.json"))); string temp; while ((temp = br.readline()) != null) sb.append(temp); } catch (ioexception e) { e.printstacktrace(); } { try { br.close(); // stop reading } catch (ioexception e) { e.printstacktrace(); } } myjsonstring = sb.tostring(); // try parse json try { jsonobject jsonobjmain = new jsonobject(myjsonstring); jsonarray jsonarray = jsonobjmain.getjsonarray("message"); (int i=0; i<jsonarray.length(); i++) { jsonobject jsonobj = jsonarray.getjsonobject(i); // getting data individual jsonobject data data = new data(jsonobj.getstring("name") , jsonobj.getstring("msg")); web.add(data); } final customtest1 adapter = new customtest1(mainactivity.this,r.layout.list_single,web); final listview list = (listview)findviewbyid(r.id.list); list.setadapter(adapter); list.setonitemclicklistener(new adapterview.onitemclicklistener() { @override public void onitemclick(adapterview<?> parent, view view, int position, long id) { toast.maketext(mainactivity.this, "test.........", toast.length_short).show(); adapter.notifydatasetchanged(); } }); //send activity...... final edittext et = (edittext)findviewbyid(r.id.edittext1); final button imb=(button)findviewbyid(r.id.btn_send); imb.setonclicklistener(new onclicklistener() { @override public void onclick(view arg0) { string str = et.gettext().tostring(); data store = new data(et.gettext().tostring()); web.add(store); toast.maketext(mainactivity.this, "you entered...."+store, toast.length_short).show(); et.settext(" "); scrollmylistviewtobottom(); adapter.notifydatasetchanged(); } //screen auto scrollup.... private void scrollmylistviewtobottom() { list.post(new runnable() { @override public void run() { // select last row scroll view... list.setselection(adapter.getcount() - 1); } }); }}); } catch (jsonexception e) { e.printstacktrace(); } } }
in opinion,you parse jsonarray exist file,then add new data old jasonarray,then write new data exist file.
Comments
Post a Comment