package com.example.administrator.litong20160905; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.Toast; import com.example.administrator.litong20160905.adapter.MyAdapter; import com.example.administrator.litong20160905.bean.Listxinxi; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserFactory; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private LinearLayout ll; private ListView lv; private Listxinxi xinxi; private MyAdapter myadapter; private String url="http://172.17.29.120/localuser/loupengfei/kaoshi/student.XML"; private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { switch (msg.what){ case 0: List<Listxinxi> listxin= (List<Listxinxi>) msg.obj; //Toast.makeText(MainActivity.this,listxin.toString(),Toast.LENGTH_SHORT).show(); myadapter=new MyAdapter(listxin,MainActivity.this); lv.setAdapter(myadapter); myadapter.notifyDataSetChanged(); break; default: break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /*ll= (LinearLayout) findViewById(R.id.ll); Yuan yuan=new Yuan(MainActivity.this); ll.addView(yuan);*/ getid(url); lv= (ListView) findViewById(R.id.lv); } private void getid(final String urll) { new Thread(){ @Override public void run() { try { URL url=new URL(urll); HttpURLConnection connection= (HttpURLConnection) url.openConnection(); connection.setReadTimeout(5000); connection.setConnectTimeout(5000); connection.setRequestMethod("GET"); int code=connection.getResponseCode(); if(code==200){ InputStream is=connection.getInputStream(); List<Listxinxi> listxin=tojson(is); Message message=new Message(); message.what=0; message.obj=listxin; handler.sendMessage(message); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }.start(); } private List<Listxinxi> tojson(InputStream str){ List<Listxinxi> listxinxis = null; try { XmlPullParserFactory factory =XmlPullParserFactory.newInstance(); XmlPullParser parser = factory.newPullParser(); parser.setInput(str,"utf-8"); //类型判断 int eventType = parser.getEventType(); while(eventType!=XmlPullParser.END_DOCUMENT){ String name = parser.getName(); switch (eventType){ case XmlPullParser.START_DOCUMENT: listxinxis=new ArrayList<>(); break; case XmlPullParser.START_TAG: if("student".equals(name)){ xinxi=new Listxinxi(); xinxi.setXuehao(parser.getAttributeValue(0)); }else if("name".equals(name)){ xinxi.setName(parser.nextText()); }else if("address".equals(name)){ xinxi.setAddress(parser.nextText()); }else if("phone".equals(name)){ xinxi.setPhone(parser.nextText()); }else if("tel".equals(name)){ xinxi.setTel(parser.nextText()); } break; case XmlPullParser.END_TAG: if(name.equals("student")) { listxinxis.add(xinxi); } break; } eventType=parser.next(); } } catch (XmlPullParserException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return listxinxis; } }