How to parse or read json file from external storage on Android app -


i implemented parsing json server (url). couldn't find way parse json sdcard (/download/example.json). can me solve issue/change code?

i used asynctask this. sample tutorial or sample code more appreciated. (sorry english.)

public class main extends activity {          private textview shopsdisplay;         private static string searchurl = "http://example.com/sample.json";          @override         protected void oncreate(bundle savedinstancestate) {             super.oncreate(savedinstancestate);             setcontentview(r.layout.baby);             //reference throughout class             shopsdisplay = (textview)findviewbyid(r.id.tweet_txt);             new getshops().execute(searchurl);         } private class getshops extends asynctask<string, void, string> {             /*              * carry out fetching task in background              * - receives search url via execute method              */             @override             protected string doinbackground(string... shopsurl) {                 //start building result json string                 stringbuilder shopsfeedbuilder = new stringbuilder();                 //should 1 url, receives array                 (string searchurl : shopsurl) {                     httpclient shopsclient = new defaulthttpclient();                     try {                         //pass search url string fetch                         httpget shopsget = new httpget(searchurl);                         //execute request                         httpresponse shopsresponse = shopsclient.execute(shopsget);                         //check status, proceed if ok                         statusline searchstatus = shopsresponse.getstatusline();                         if (searchstatus.getstatuscode() == 200) {                             //get response                             httpentity shopsentity = shopsresponse.getentity();                             inputstream shopscontent = shopsentity.getcontent();                             //process results                             inputstreamreader shopsinput = new inputstreamreader(shopscontent);                             bufferedreader shopsreader = new bufferedreader(shopsinput);                             string linein;                             while ((linein = shopsreader.readline()) != null) {                                 shopsfeedbuilder.append(linein);                             }                         }                         else                             shopsdisplay.settext("whoops - went wrong!");                     }                     catch(exception e){                          shopsdisplay.settext("whoops - went wrong!");                         e.printstacktrace();                      }                 }                 //return result string                 return shopsfeedbuilder.tostring();             }             /*              * process result of search query              * - receives json string representing shops search term included              */             protected void onpostexecute(string result) {                 //start preparing result string display                 stringbuilder shopsresultbuilder = new stringbuilder();                 try {                     //get jsonobject result                     jsonobject resultobject = new jsonobject(result);                     //get jsonarray contained within jsonobject retrieved - "results"                     jsonarray shopsarray = resultobject.getjsonarray("shops");                     //loop through each item in shops array                     (int t=0; t<shopsarray.length(); t++) {                         //each item jsonobject                         jsonobject shopsobject = shopsarray.getjsonobject(t);                         //for if condition                         string id = (string) shopsobject.get("id");                         //get name , description each shops                         if (id.equals("550")){                         shopsresultbuilder.append(shopsobject.getstring("name")+": ");                         shopsresultbuilder.append(shopsobject.get("description")+"\n\n");                         }                     }                 }                 catch (exception e) {                     shopsdisplay.settext("whoops - went wrong!");                     e.printstacktrace();                 }                 //check result exists                 if(shopsresultbuilder.length()>0)                     shopsdisplay.settext(shopsresultbuilder.tostring());                 else                     shopsdisplay.settext("sorry - no shops found search!");             }         }   } 

for jsonobject, use standard java file i/o read file string, pass jsonobject constructor.

if have large json file, though, may wish switch other json parser (e.g., jsonreader), may give different options (e.g., use filereader jsonreader).


Comments

Popular posts from this blog

ios - UICollectionView Self Sizing Cells with Auto Layout -

node.js - ldapjs - write after end error -

DOM Manipulation in Wordpress (and elsewhere) using php -