Getting Data From the Web (URLConnection via http)
What you will learn:You will learn how to download files/data from any URL (useful for reading the returned xml-data from Web2.0-APIs)Problems/Questions:Write it right below...
Difficulty:1.5 of 5
What it will look like:
Description:
0.)We will use justURL,URLConnectionandInputStreamsto receive data from a txt-file via http from the web. (works with any other dynamic url, toolike the Google Weather APIhttp://www.google.com/ig/api?weather=Schriesheim,Germany)
This is the full Code:
Java: |
packageorg.
anddev.
android.
getdatafromtheweb;
importjava. io. BufferedInputStream; importjava. io. InputStream; importjava. net. URL; importjava. net. URLConnection; importorg. apache. http. util. ByteArrayBuffer; importandroid. app. Activity; importandroid. os. Bundle; importandroid. widget. TextView; public classGetDataFromTheWeb extendsActivity { @Override public voidonCreate (Bundle icicle ) { super. onCreate (icicle ); /* We will show the data we read in a TextView. */ TextView tv = newTextView ( this ); /* Will be filled and displayed later. */ StringmyString = null; try { /* Define the URL we want to load data from. */ URLmyURL = new URL ( "http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt" ); /* Open a connection to that URL. */ URLConnectionucon = myURL. openConnection ( ); /* Define InputStreams to read * from the URLConnection. */ InputStreamis = ucon. getInputStream ( ); BufferedInputStreambis = new BufferedInputStream (is ); /* Read bytes to the Buffer until * there is nothing more to read(-1). */ ByteArrayBuffer baf = newByteArrayBuffer ( 50 ); intcurrent = 0; while ( (current = bis. read ( ) )!= -1 ) { baf. append ( ( byte )current ); } /* Convert the Bytes read to a String. */ myString = new String (baf. toByteArray ( ) ); } catch ( Exceptione ) { /* On any Error we want to display it. */ myString = e. getMessage ( ); } /* Show the String on the GUI. */ tv. setText (myString ); this. setContentView (tv ); } } |