package Ġcom . st ay fit . app Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroid . widget . TextView Ċ Ċ import Ġorg . json . JSONArray Ċ import Ġorg . json . JSONException Ċ import Ġorg . json . JSONObject Ċ Ċ import Ġjava . util . ArrayList Ċ import Ġjava . util . HashMap Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġm addi Ġon Ġ 3 / 2 9 / 2 0 1 6 . Ċ Ġ*/ Ċ class ĠFood Data Json Ġ{ ĊĠĠĠ Ġinternal Ġvar Ġfood List : ĠMutable List < Map < String , Ġ* >> Ġ= ĠArrayList () ĊĠĠĠ Ġvar Ġt : ĠTextView ? Ġ= Ġnull ĊĊĠĠĠ Ġval Ġmovies List : ĠList < Map < String , Ġ* >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġfood List ĊĊĠĠĠ Ġval Ġsize : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġfood List . size ĊĊĠĠĠ Ġfun ĠgetItem ( i : ĠInt ): ĠHashMap < *, Ġ* >? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( i Ġ>= Ġ 0 Ġ&& Ġi Ġ< Ġfood List . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfood List [ i ] Ġas ĠHashMap < *, Ġ*> ĊĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove Item ( i : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfood List . remove At ( i ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Item ( position : ĠInt , Ġclone : ĠHashMap < String , Ġ* >) Ġ{ ĊĠĠĠĠĠĠĠ Ġfood List . add ( position , Ġclone ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( JSONException :: class ) ĊĠĠĠ Ġfun Ġdownload Food Data Json ( json _ url : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfood List . clear () Ġ// Ġclear Ġthe Ġlist ĊĊĠĠĠĠĠĠĠ Ġvar Ġfood Array Ġ= ĠMy Utility . download JSON using HTTP GetRequest ( json _ url ) ĊĠĠĠĠĠĠĠ Ġfood Array Ġ= Ġfood Array !!. toString () ĊĠĠĠĠĠĠĠ Ġlong Info ( food Array ) ĊĠĠĠĠĠĠĠ ĠLog . d (" Food Array ", Ġfood Array ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( food Array Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" My Debug Msg ", Ġ" Having Ġtrouble Ġloading ĠURL : Ġ$ json _ url ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġ" Ass uming Ġthat Ġhere Ġis Ġyour ĠJSON Ġresponse " ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparent Object Ġ= ĠJSONObject ( food Array ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhits JsonArray Ġ= Ġparent Object . get JSONArray (" hits ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" hits ", Ġhits JsonArray . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" hits Ġlength ", Ġhits JsonArray . length (). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġhits JsonArray . length ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġf Ġ= Ġhits JsonArray . getJSONObject ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfi Ġ= Ġf . getJSONObject (" fields ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Hits Ġarray Ġitem :", Ġfi . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi id Ġ= Ġfi . getString (" item _ id ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġin ame Ġ= Ġfi . getString (" item _ name ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbid Ġ= Ġfi . getString (" brand _ id ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb name Ġ= Ġfi . getString (" brand _ name ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ ical Ġ= Ġfi . getString (" nf _ cal ories ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi desc Ġ= Ġfi . getString (" item _ description ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġif at Ġ= Ġfi . getString (" nf _ total _ fat ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi protein Ġ= Ġfi . getString (" nf _ protein ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġic ar bs Ġ= Ġfi . getString (" nf _ total _ car bo hyd rate ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfood List . add ( create Food _ brief ( iid , Ġin ame , Ġbid , Ġb name , Ġ ical , Ġi desc , Ġif at , Ġi protein , Ġic ar bs )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJSON Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO ĠAuto - generated Ġcatch Ġblock ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" My Debug Msg ", Ġ" JSONException Ġin Ġdownload Food Data Json ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġcreate Food _ brief ( iid : ĠString , Ġin ame : ĠString , Ġbid : ĠString , Ġb name : ĠString , Ġ ical : ĠString , Ġi desc : ĠString , Ġif at : ĠString , Ġi protein : ĠString , Ġic ar bs : ĠString ): ĠMap < String , Ġ*> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfd Ġ= ĠHashMap < String , ĠString >() ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfd [" iid "] Ġ= Ġi id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfd [" iname "] Ġ= Ġin ame ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfd [" bid "] Ġ= Ġbid ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfd [" b name "] Ġ= Ġb name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfd [" ical "] Ġ= Ġ ical ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfd [" ide sc "] Ġ= Ġi desc ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfd [" if at "] Ġ= Ġif at ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfd [" ic ar bs "] Ġ= Ġic ar bs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfd [" i protein "] Ġ= Ġi protein ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfd ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġlong Info ( str : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( str . length Ġ> Ġ 4 0 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Food Array 1 :", Ġstr . substring ( 0 , Ġ 4 0 0 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlong Info ( str . substring ( 4 0 0 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Food Array 2 ", Ġstr ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ