package Ġcom . example . wh ow rote this Ċ import Ġjava . net .* Ċ import Ġandroid . net . Uri Ċ import Ġjava . io . BufferedReader Ċ import Ġjava . io . InputStream Reader Ċ Ċ class ĠNetwork Utils Ċ { ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġget Book Info ( query : String ): String ? ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar ĠBase _ Url Ġ= Ġ" https :// www . googleapis . com / books / v 1 / volumes ?" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġquery _ Param Ġ= Ġ" q " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmax _ res Ġ= Ġ" max Results " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġprint Type Ġ= Ġ" print Type " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuri : Uri Ġ= ĠUri . parse ( Base _ Url ). build Up on () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append QueryParameter ( query _ Param , query ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append QueryParameter ( max _ res ," 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append QueryParameter ( print Type ," books ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠURL ( uri . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġurl Connection : Http URLConnection ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġreader : BufferedReader ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Connection Ġ= Ġurl . open Connection () Ġas ĠHttp URLConnection ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Connection . request Method Ġ= Ġ" GET " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Connection . connect () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠinputStream Ġ= Ġurl Connection . inputStream ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreader Ġ= ĠBufferedReader ( InputStream Reader ( inputStream )) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠStringBuffer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġline : String ? Ġ= reader . readLine () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile ( line != null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ( line ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ("\ n ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline Ġ= Ġreader . readLine () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( builder . isEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbuilder . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} catch ( m : Malformed URLException ){ println ( m . message )} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreader ?. close () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Connection ?. disconnect () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }