java - Android Studio, getting different stocks from multiple JSON URL's using Volley -
i have encountered problem when trying extract stock data several yahoo finance links. @ least 4 stocks @ time using volley method, means using 4 different urls @ time. example trying @ least 2 things @ time it's
facebook live stock , yahoo live stock
but not know how , have received few tips create (add) new requests in queue, have tried , doesn't work or maybe don't know how properly. can help? using liveratesactivity, customjsonobjectrequest , customvolleyrequestqueue activities this.
code main activity:
public class liveratesactivity extends appcompatactivity implements response.listener, response.errorlistener { public static final string request_tag = "liveratesactivity"; private textview lasttradepriceonlytext; private textview symboltext; private textview nametext; private button getrates; private requestqueue mqueue; public static final string request_tag2 = "liveratesactivity"; private textview lasttradepriceonlytext2; private textview symboltext2; private textview nametext2; private textview changetext2; private textview percentagechangetext2; private textview dayslowtext2; private textview dayshightext2; private textview avgvolumetext2; private textview peratiotext2; private textview marketcaptext2; private requestqueue nqueue; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_live_rates); lasttradepriceonlytext = (textview) findviewbyid(r.id.resultstextview); symboltext = (textview) findviewbyid(r.id.symboltextview); nametext = (textview) findviewbyid(r.id.nametextview); lasttradepriceonlytext2 = (textview) findviewbyid(r.id.resultstextview2); symboltext2 = (textview) findviewbyid(r.id.symboltextview2); nametext2 = (textview) findviewbyid(r.id.nametextview2); changetext2 = (textview) findviewbyid(r.id.changetextview2); percentagechangetext2 = (textview) findviewbyid(r.id.percentagechangetextview2); dayslowtext2 = (textview) findviewbyid(r.id.dayslowtextview2); dayshightext2 = (textview) findviewbyid(r.id.dayshightextview2); avgvolumetext2 = (textview) findviewbyid(r.id.avgvolumetextview2); peratiotext2 = (textview) findviewbyid(r.id.peratiotextview2); marketcaptext2 = (textview) findviewbyid(r.id.marketcaptextview2); getrates = (button) findviewbyid(r.id.sentbutton); imagebutton bsettingsblack = (imagebutton) findviewbyid(r.id.ibsettingsblack); imagebutton beconcalblack = (imagebutton) findviewbyid(r.id.ibeconcalblack); imagebutton bnewsblack = (imagebutton) findviewbyid(r.id.ibnewsblack); bsettingsblack.setonclicklistener(new view.onclicklistener() { public void onclick(view v) { startactivity(new intent(liveratesactivity.this, settingsactivity.class)); } }); beconcalblack.setonclicklistener(new view.onclicklistener() { public void onclick(view v) { startactivity(new intent(liveratesactivity.this, webviewactivity.class)); } }); bnewsblack.setonclicklistener(new view.onclicklistener() { public void onclick(view v) { startactivity(new intent(liveratesactivity.this, homepagenews.class)); } }); } @override protected void onstart() { super.onstart(); mqueue = customvolleyrequestqueue.getinstance(this.getapplicationcontext()) .getrequestqueue(); string url = "https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22fb%22)&format=json&env=store%3a%2f%2fdatatables.org%2falltableswithkeys&callback=";//"http://httpbin.org/get?site=code&network=tutsplus"; final customjsonobjectrequest jsonrequest = new customjsonobjectrequest(request.method.get, url, new jsonobject(), this, this); jsonrequest.settag(request_tag); nqueue = customvolleyrequestqueue.getinstance(this.getapplicationcontext()) .getrequestqueue(); string url2 = "https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22yhoo%22)&format=json&env=store%3a%2f%2fdatatables.org%2falltableswithkeys&callback=";//"http://httpbin.org/get?site=code&network=tutsplus"; final customjsonobjectrequest jsonrequest2 = new customjsonobjectrequest(request.method.get, url, new jsonobject(), this, this); jsonrequest2.settag(request_tag2); getrates.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { mqueue.add(jsonrequest); nqueue.add(jsonrequest2); } }); } @override protected void onstop() { super.onstop(); if (mqueue != null) { mqueue.cancelall(request_tag); } else if (nqueue !=null) { nqueue.cancelall(request_tag2); } } @override public void onerrorresponse(volleyerror error) { lasttradepriceonlytext.settext(error.getmessage()); lasttradepriceonlytext2.settext(error.getmessage()); } @override public void onresponse(object response) { lasttradepriceonlytext.settext("response is: " + response); try { jsonobject response2 = ((jsonobject) response).getjsonobject("query"); response2 = ((jsonobject) response2).getjsonobject("results"); response2 = ((jsonobject) response2).getjsonobject("quote"); string displayed_text = ((jsonobject) response2).getstring("lasttradepriceonly"); lasttradepriceonlytext.settext(displayed_text); } catch (jsonexception e) { e.printstacktrace(); } { symboltext.settext("response is: " + response); try { jsonobject response2 = ((jsonobject) response).getjsonobject("query"); response2 = ((jsonobject) response2).getjsonobject("results"); response2 = ((jsonobject) response2).getjsonobject("quote"); string displayed_text = ((jsonobject) response2).getstring("symbol"); symboltext.settext(displayed_text); } catch (jsonexception e) { e.printstacktrace(); } } { nametext.settext("response is: " + response); try { jsonobject response2 = ((jsonobject) response).getjsonobject("query"); response2 = ((jsonobject) response2).getjsonobject("results"); response2 = ((jsonobject) response2).getjsonobject("quote"); string displayed_text = ((jsonobject) response2).getstring("name"); nametext.settext(displayed_text); } catch (jsonexception e) { e.printstacktrace(); } } { nametext2.settext("response is: " + response); try { jsonobject response2 = ((jsonobject) response).getjsonobject("query"); response2 = ((jsonobject) response2).getjsonobject("results"); response2 = ((jsonobject) response2).getjsonobject("quote"); string displayed_text = ((jsonobject) response2).getstring("name"); nametext2.settext(displayed_text); } catch (jsonexception e) { e.printstacktrace(); } } { symboltext2.settext("response is: " + response); try { jsonobject response2 = ((jsonobject) response).getjsonobject("query"); response2 = ((jsonobject) response2).getjsonobject("results"); response2 = ((jsonobject) response2).getjsonobject("quote"); string displayed_text = ((jsonobject) response2).getstring("symbol"); symboltext2.settext(displayed_text); } catch (jsonexception e) { e.printstacktrace(); } } { lasttradepriceonlytext2.settext("response is: " + response); try { jsonobject response2 = ((jsonobject) response).getjsonobject("query"); response2 = ((jsonobject) response2).getjsonobject("results"); response2 = ((jsonobject) response2).getjsonobject("quote"); string displayed_text = ((jsonobject) response2).getstring("lasttradepriceonly"); lasttradepriceonlytext2.settext(displayed_text); } catch (jsonexception e) { e.printstacktrace(); } } { changetext2.settext("response is: " + response); try { jsonobject response2 = ((jsonobject) response).getjsonobject("query"); response2 = ((jsonobject) response2).getjsonobject("results"); response2 = ((jsonobject) response2).getjsonobject("quote"); string displayed_text = ((jsonobject) response2).getstring("change"); changetext2.settext(displayed_text); } catch (jsonexception e) { e.printstacktrace(); } } { percentagechangetext2.settext("response is: " + response); try { jsonobject response2 = ((jsonobject) response).getjsonobject("query"); response2 = ((jsonobject) response2).getjsonobject("results"); response2 = ((jsonobject) response2).getjsonobject("quote"); string displayed_text = ((jsonobject) response2).getstring("percentchange"); percentagechangetext2.settext(displayed_text); } catch (jsonexception e) { e.printstacktrace(); } } { dayshightext2.settext("response is: " + response); try { jsonobject response2 = ((jsonobject) response).getjsonobject("query"); response2 = ((jsonobject) response2).getjsonobject("results"); response2 = ((jsonobject) response2).getjsonobject("quote"); string displayed_text = ((jsonobject) response2).getstring("dayshigh"); dayshightext2.settext(displayed_text); } catch (jsonexception e) { e.printstacktrace(); } } { dayslowtext2.settext("response is: " + response); try { jsonobject response2 = ((jsonobject) response).getjsonobject("query"); response2 = ((jsonobject) response2).getjsonobject("results"); response2 = ((jsonobject) response2).getjsonobject("quote"); string displayed_text = ((jsonobject) response2).getstring("dayslow"); dayslowtext2.settext(displayed_text); } catch (jsonexception e) { e.printstacktrace(); } } { avgvolumetext2.settext("response is: " + response); try { jsonobject response2 = ((jsonobject) response).getjsonobject("query"); response2 = ((jsonobject) response2).getjsonobject("results"); response2 = ((jsonobject) response2).getjsonobject("quote"); string displayed_text = ((jsonobject) response2).getstring("averagedailyvolume"); avgvolumetext2.settext(displayed_text); } catch (jsonexception e) { e.printstacktrace(); } } { peratiotext2.settext("response is: " + response); try { jsonobject response2 = ((jsonobject) response).getjsonobject("query"); response2 = ((jsonobject) response2).getjsonobject("results"); response2 = ((jsonobject) response2).getjsonobject("quote"); string displayed_text = ((jsonobject) response2).getstring("peratio"); peratiotext2.settext(displayed_text); } catch (jsonexception e) { e.printstacktrace(); } } { marketcaptext2.settext("response is: " + response); try { jsonobject response2 = ((jsonobject) response).getjsonobject("query"); response2 = ((jsonobject) response2).getjsonobject("results"); response2 = ((jsonobject) response2).getjsonobject("quote"); string displayed_text = ((jsonobject) response2).getstring("marketcapitalization"); marketcaptext2.settext(displayed_text); } catch (jsonexception e) { e.printstacktrace(); } } } public void notificationpagerequest(view view) { intent intent = new intent(this, liveratesactivity.class); startactivity(intent); } } and request queue activity:
public class customvolleyrequestqueue { private static customvolleyrequestqueue minstance; private static context mctx; private requestqueue mrequestqueue; private customvolleyrequestqueue(context context) { mctx = context; mrequestqueue = getrequestqueue(); } public static customvolleyrequestqueue getinstance(context context) { if (minstance == null) { minstance = new customvolleyrequestqueue(context); } return minstance; } public requestqueue getrequestqueue() { if (mrequestqueue == null) { cache cache = new diskbasedcache(mctx.getcachedir(), 10 * 1024 * 1024); network network = new basicnetwork(new hurlstack()); mrequestqueue = new requestqueue(cache, network); mrequestqueue.start(); } return mrequestqueue; } }
Comments
Post a Comment