Android
来源:互联网 发布:怎样修复数据库 编辑:程序博客网 时间:2024/05/22 16:09
效果图如下:
下面是代码:
package com.example.diy_network;import android.os.AsyncTask;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.util.Xml;import android.view.Gravity;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.TextView;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 Person person; private List<Person> persons = new ArrayList<>(); private ListView lv_mian_listView; private MyAdapter myAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv_mian_listView = (ListView) findViewById(R.id.lv_mian_ListView); myAdapter = new MyAdapter(); lv_mian_listView.setAdapter(myAdapter); } public void getData(View view) { new MyTask().execute(); } class MyTask extends AsyncTask{ @Override protected Object doInBackground(Object[] params) { try { URL url = new URL("http://localhost/Pazz/xxxx.action"); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setReadTimeout(5000); int code = urlConnection.getResponseCode(); if (code == 200) { InputStream is = urlConnection.getInputStream(); XmlPullParser xpp = Xml.newPullParser(); xpp.setInput(is, "UTF-8"); int type = xpp.getEventType(); while (type != xpp.END_DOCUMENT) { switch (type) { case XmlPullParser.START_TAG: //获取开始标签的名字 String startTagName = xpp.getName(); if ("person".equals(startTagName)) { person = new Person(); //获取name属性值 int pid = Integer.parseInt(xpp.getAttributeValue(0)); person.setPid(pid); } else if ("page".equals(startTagName)) { //获取sex的文本值 int page = Integer.parseInt(xpp.nextText()); person.setPage(page); } else if ("pname".equals(startTagName)) { //获取sex的文本值 String pname = xpp.nextText(); person.setPname(pname); } break; case XmlPullParser.END_TAG: //获取到结束标签的名字 String endTagName = xpp.getName(); if ("person".equals(endTagName)) { persons.add(person); } break; } type = xpp.next(); } } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (XmlPullParserException e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(Object o) { super.onPostExecute(o); lv_mian_listView.setAdapter(myAdapter); } } class MyAdapter extends BaseAdapter { @Override public int getCount() { return persons.size(); } @Override public Object getItem(int position) { return persons.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { LinearLayout linearLayout = new LinearLayout(MainActivity.this); linearLayout.setGravity(Gravity.CENTER); TextView tv1 = new TextView(MainActivity.this); tv1.setWidth(300); tv1.setText(""+persons.get(position).getPid()); TextView tv2 = new TextView(MainActivity.this); tv2.setWidth(300); tv2.setText(""+persons.get(position).getPname()); TextView tv3 = new TextView(MainActivity.this); tv3.setWidth(200); tv3.setText(""+persons.get(position).getPage()); linearLayout.addView(tv1); linearLayout.addView(tv2); linearLayout.addView(tv3); return linearLayout; } }}
下面是布局文件:
package com.example.diy_network;import android.os.AsyncTask;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.util.Xml;import android.view.Gravity;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.TextView;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 Person person; private List<Person> persons = new ArrayList<>(); private ListView lv_mian_listView; private MyAdapter myAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv_mian_listView = (ListView) findViewById(R.id.lv_mian_ListView); myAdapter = new MyAdapter(); lv_mian_listView.setAdapter(myAdapter); } public void getData(View view) { new MyTask().execute(); } class MyTask extends AsyncTask{ @Override protected Object doInBackground(Object[] params) { try { URL url = new URL("http://localhost/Pazz/xxxx.action"); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setReadTimeout(5000); int code = urlConnection.getResponseCode(); if (code == 200) { InputStream is = urlConnection.getInputStream(); XmlPullParser xpp = Xml.newPullParser(); xpp.setInput(is, "UTF-8"); int type = xpp.getEventType(); while (type != xpp.END_DOCUMENT) { switch (type) { case XmlPullParser.START_TAG: //获取开始标签的名字 String startTagName = xpp.getName(); if ("person".equals(startTagName)) { person = new Person(); //获取name属性值 int pid = Integer.parseInt(xpp.getAttributeValue(0)); person.setPid(pid); } else if ("page".equals(startTagName)) { //获取sex的文本值 int page = Integer.parseInt(xpp.nextText()); person.setPage(page); } else if ("pname".equals(startTagName)) { //获取sex的文本值 String pname = xpp.nextText(); person.setPname(pname); } break; case XmlPullParser.END_TAG: //获取到结束标签的名字 String endTagName = xpp.getName(); if ("person".equals(endTagName)) { persons.add(person); } break; } type = xpp.next(); } } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (XmlPullParserException e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(Object o) { super.onPostExecute(o); lv_mian_listView.setAdapter(myAdapter); } } class MyAdapter extends BaseAdapter { @Override public int getCount() { return persons.size(); } @Override public Object getItem(int position) { return persons.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { LinearLayout linearLayout = new LinearLayout(MainActivity.this); linearLayout.setGravity(Gravity.CENTER); TextView tv1 = new TextView(MainActivity.this); tv1.setWidth(300); tv1.setText(""+persons.get(position).getPid()); TextView tv2 = new TextView(MainActivity.this); tv2.setWidth(300); tv2.setText(""+persons.get(position).getPname()); TextView tv3 = new TextView(MainActivity.this); tv3.setWidth(200); tv3.setText(""+persons.get(position).getPage()); linearLayout.addView(tv1); linearLayout.addView(tv2); linearLayout.addView(tv3); return linearLayout; } }}
0 0
- Android
- android
- Android
- android
- android
- Android
- Android
- android
- android
- android
- Android
- Android
- android!!!
- android
- android
- android
- android
- android:
- C++的Vector
- [NOI2012]随机数生成器
- intellij idea 15 控制台输出中文乱码问题解决办法
- Ubuntu开发环境搭建(3)【配置nfs】
- 栈的反转
- Android
- 拓扑排序
- nyoj117求逆序数 并归排序法
- 学习Scrapy入门
- 起点不高,又很迷茫怎么办
- git操作命令
- ural2073 Log Files【细心题】
- Problem A. Dynamic Grid Google APAC 2016 University Test Round D
- 使用shaderMaterial实现环境光与漫反射光