Packagecom.pingyijinren.test;Importandroid.content.Intent;ImportAndroid.os.Handler;ImportAndroid.os.Message;Importandroid.support.v7.app.AppCompatActivity;ImportAndroid.os.Bundle;ImportAndroid.util.Log;ImportAndroid.view.View;ImportAndroid.widget.Button;ImportAndroid.widget.TextView;Importorg.apache.http.HttpEntity;ImportOrg.apache.http.HttpResponse;Importorg.apache.http.client.HttpClient;ImportOrg.apache.http.client.methods.HttpGet;Importorg.apache.http.impl.client.DefaultHttpClient;Importorg.apache.http.util.EntityUtils;ImportOrg.xmlpull.v1.XmlPullParser;Importorg.xmlpull.v1.XmlPullParserFactory;ImportJava.io.BufferedReader;Importjava.io.EOFException;ImportJava.io.InputStream;ImportJava.io.InputStreamReader;ImportJava.io.StringReader;Importjava.net.HttpURLConnection;ImportJava.net.URL; Public classMainactivityextendsappcompatactivity{Privatebutton button; PrivateTextView TextView; Private Static Final intShow_response=0; PrivateHandler handler=NewHandler () { Public voidhandlemessage (Message message) {Switch(message.what) { Caseshow_response:string RESPONSE=(String) message.obj; Textview.settext (response); } } }; @Overrideprotected voidonCreate (Bundle savedinstancestate) {Super. OnCreate (savedinstancestate); Setcontentview (R.layout.activity_main); Button=(Button) Findviewbyid (R.id.button); TextView=(TextView) Findviewbyid (R.id.textview); Button.setonclicklistener (NewView.onclicklistener () {@Override Public voidOnClick (View v) {sendrequestwithhttpurlconnection (); } }); } Private voidsendrequestwithhttpurlconnection () {NewThread (NewRunnable () {@Override Public voidrun () {Try{HttpClient HttpClient=Newdefaulthttpclient (); HttpGet HttpGet=NewHttpGet ("Http://172.29.209.1/get_data.xml"); HttpResponse HttpResponse=Httpclient.execute (HttpGet); if(Httpresponse.getstatusline (). Getstatuscode () ==200) {httpentity httpentity=httpresponse.getentity (); String Response= Entityutils.tostring (httpentity, "Utf-8"); LOG.D ("Mainactivity", response); Parsexmlwithpull (response); } } Catch(Exception e) {e.printstacktrace (); }}). Start (); } Private voidparsexmlwithpull (String xmlData) {Try{xmlpullparserfactory Factory=xmlpullparserfactory.newinstance (); Xmlpullparser Xmlpullparser=Factory.newpullparser (); Xmlpullparser.setinput (NewStringReader (xmlData)); intEventtype=Xmlpullparser.geteventtype (); String ID=""; String name=""; String version=""; while(eventtype!=xmlpullparser.end_document) {String NodeName=Xmlpullparser.getname (); Switch(eventtype) { Casexmlpullparser.start_tag:{if(Nodename.equals ("id") ) {ID=Xmlpullparser.nexttext (); } Else if(Nodename.equals ("name") ) {Name=Xmlpullparser.nexttext (); } Else if(Nodename.equals ("version") ) {version=Xmlpullparser.nexttext (); } Break; } Casexmlpullparser.end_tag:{if(Nodename.equals ("app") {LOG.D ("Mainactivity", "id" +ID); LOG.D ("Mainactivity", "name" +name); LOG.D ("Mainactivity", "version" +version); } } Break; default: Break; } EventType=Xmlpullparser.next (); } } Catch(Exception e) {e.printstacktrace (); } }}
Pull method Parsing xml file