下面是主要的代码
private void send_message(){
new Thread(new Runnable(){
@Override
public void run() {
try{
OkHttpClient client=new OkHttpClient();
Request request=new Request.Builder()
.url("http://10.0.2.2/get_data.xml")
.build();
Response response=client.newCall(request).execute();
String data=response.body().toString();
Log.w("data_", "run: "+data);
show_response(data);
}catch(Exception e){
Log.w("data_", "run: 读取失败");
e.printStackTrace();
}
}
}).start();
}
private void show_response(String response){
try{
String response_="";
XmlPullParserFactory factor = XmlPullParserFactory.newInstance();
XmlPullParser xmlPullParser=factor.newPullParser();
xmlPullParser.setInput(new StringReader(response));
int eventTyper=xmlPullParser.getEventType();
Log.w("data_is", "show_response: "+eventTyper);
String id="",name="",version="";
while(eventTyper!=XmlPullParser.END_DOCUMENT) {
Log.w("data_is", "show_response: " + "12333333");
String node_name ="";
node_name=xmlPullParser.getName();
Log.w("data_is", "show_response: "+node_name);
switch (eventTyper) {
case XmlPullParser.START_TAG:{
Log.w("data_is", "show_response: " + "lalala");
if ("id".equals(node_name)) {
id = xmlPullParser.nextText();
} else if ("name".equals(node_name)) {
name = xmlPullParser.nextText();
} else if ("version".equals(node_name)) {
version = xmlPullParser.nextText();
}
break;
}
case XmlPullParser.END_TAG: {
if ("app".equals(node_name)) {
response_ = "id is " + id + "\n";
response_ += "name is " + name + "\n";
response_ += "version is " + version + "\n";
Log.w("data_is", "show_response: " + response_);
}
break;
}
}
eventTyper = xmlPullParser.next();
}
turn_to_uithread(response_);
}catch(Exception e){
e.printStackTrace();
}
}
private void turn_to_uithread(final String response){
runOnUiThread(new Runnable() {
@Override
public void run() {
show.setText(response);
}
});
}