package Ġcom . example . gam ja . gam j aph oto app Ċ Ċ import Ġandroid . app . Progress Dialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . AsyncTask Ċ import Ġandroid . widget . GridView Ċ import Ġandroid . widget . Toast Ċ import Ġjava . io . Buffered InputStream Ċ import Ġjava . io . BufferedReader Ċ import Ġjava . io . IOException Ċ import Ġjava . io . InputStream Reader Ċ import Ġjava . net . Http URLConnection Ċ import Ġjava . net . Malformed URLException Ċ import Ġjava . net . URL Ċ Ċ @ Suppress (" DE PREC ATION ") Ċ class Ġget JSON INFO ( ĊĠĠĠ Ġprivate Ġvar Ġc : ĠContext , Ġprivate Ġvar Ġmy URL : ĠString , Ġprivate Ġvar Ġmy GridView : ĠGrid View Ċ ) Ġ: ĊĠĠĠ ĠAsync Task < Void , ĠVoid , ĠString >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Pre Execute () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pre Execute () ĊĠĠĠĠĠĠĠ ĠToast . makeText ( c , Ġ" ê² Ģ ìĥī Ġì¤ĳ ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdo In Background ( var arg Ġvoid s : ĠVoid ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget JSON () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Post Execute ( result : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Post Execute ( result ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( result . startsWith (" url Ġe ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( c , Ġresult , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( c , Ġ" url n ox ìĿ´ Ġìŀ ĺ ëª » ëĲĺìĸ´ ĠìĹ° ê²° íķł ĠìĪĺ ĠìĹĨ ìĬµëĭĪëĭ¤ .", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( result . startsWith (" connect Ġe ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( c , Ġresult , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( c , Ġ" ëĦ ¤íĬ¸ ìĽĮ íģ¬ ìĹĲ ĠìĹ° ê²° íķł ĠìĪĺ ĠìĹĨ ìĬµëĭĪëĭ¤ .", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( c , Ġ" ëĦ ¤íĬ¸ ìĽĮ íģ¬ ĠìĹ° ê²° ĠìĦ± ê³µ ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShort Info ( c , Ġresult , Ġmy GridView ). execute () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġconnect ( my URL : ĠString ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠURL ( my URL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcon Ġ= Ġurl . open Connection () Ġas ĠHttp URLConnection ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcon . request Method Ġ= Ġ" GET " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcon . connect Timeout Ġ= Ġ 1 5 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcon . read Timeout Ġ= Ġ 1 5 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcon . do Input Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcon ĊĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠMal formed URLException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" url ĠError " Ġ+ Ġe . message ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" connect ĠError " Ġ+ Ġe . message ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget JSON (): ĠString ? Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġconnection Ġ= Ġconnect ( my URL ) ĊĠĠĠĠĠĠĠ Ġif Ġ( connection . toString (). startsWith (" Error ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġconnection . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcon Ġ= Ġconnection Ġas ĠHttp URLConnection ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( con . response Code Ġ== Ġ 2 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinput StreamReader Ġ= ĠBuffered InputStream ( con . inputStream ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuffered Reader Ġ= ĠBufferedReader (( InputStream Reader ( input StreamReader ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstring Buffer Ġ= ĠStringBuffer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġline : ĠString ? ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline Ġ= Ġbuffered Reader . readLine () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( line Ġ== Ġnull ) Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring Buffer . append ( line Ġ+ Ġ"\ n "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput StreamReader . close () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffered Reader . close () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġstring Buffer . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" Error Ġ" Ġ+ Ġcon . response Message ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" Error Ġ" Ġ+ Ġe . message ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ