//适配器
private Context context;
private List<Bean1> list;
private List<Bean1> list;
public MyAdapter(Context context, List<Bean1> list) {
super();
this.context = context;
this.list = list;
}
super();
this.context = context;
this.list = list;
}
@Override
public int getCount() {
public int getCount() {
return list.size();
}
}
@Override
public Object getItem(int position) {
public Object getItem(int position) {
return list.get(position);
}
}
@Override
public long getItemId(int position) {
public long getItemId(int position) {
return position;
}
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Bean1 n=list.get(position);
ViewHolder viewholder;
if(convertView!=null){
viewholder=(ViewHolder) convertView.getTag();
}
else{
convertView=LayoutInflater.from(context).inflate(R.layout.activity_main_lv,null);
viewholder=new ViewHolder();
viewholder.title=(TextView) convertView.findViewById(R.id.title);
viewholder.author=(TextView) convertView.findViewById(R.id.content);
viewholder.timer=(TextView) convertView.findViewById(R.id.timer);
convertView.setTag(viewholder);
}
viewholder.title.setText(n.getTitle());
viewholder.timer.setText(n.getPubDate());
viewholder.author.setText("作者:"+n.getCopyright());
return convertView;
}
public View getView(int position, View convertView, ViewGroup parent) {
Bean1 n=list.get(position);
ViewHolder viewholder;
if(convertView!=null){
viewholder=(ViewHolder) convertView.getTag();
}
else{
convertView=LayoutInflater.from(context).inflate(R.layout.activity_main_lv,null);
viewholder=new ViewHolder();
viewholder.title=(TextView) convertView.findViewById(R.id.title);
viewholder.author=(TextView) convertView.findViewById(R.id.content);
viewholder.timer=(TextView) convertView.findViewById(R.id.timer);
convertView.setTag(viewholder);
}
viewholder.title.setText(n.getTitle());
viewholder.timer.setText(n.getPubDate());
viewholder.author.setText("作者:"+n.getCopyright());
return convertView;
}
class ViewHolder {
private TextView title;
private TextView author;
private TextView timer;
}
private TextView title;
private TextView author;
private TextView timer;
}
private ListView lv;
private List<Bean1> list;
private BaseAdapter adapter;
Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
handler.sendEmptyMessageDelayed(0, 1000);
adapter = new MyAdapter(MainActivity.this, list);
lv.setAdapter(adapter);
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 接收listView控件
lv = (ListView) findViewById(R.id.lv);
// 创建一个线程
new Thread() {
public void run() {
handler.sendEmptyMessageDelayed(0, 1000);
show("http://www.sciencenet.cn/xml/iphoneinterface.aspx?type=news&nums=20");
}
}.start();
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 接收listView控件
lv = (ListView) findViewById(R.id.lv);
// 创建一个线程
new Thread() {
public void run() {
handler.sendEmptyMessageDelayed(0, 1000);
show("http://www.sciencenet.cn/xml/iphoneinterface.aspx?type=news&nums=20");
}
}.start();
}
// 解析数据
private void show(String strUrl) {
try {
URL url = new URL(strUrl);
// 创建连接
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 执行
connection.connect();
// 获得响应码
int code = connection.getResponseCode();
// 判断
if (code == 200) {
InputStream inputStream = connection.getInputStream();
// pull解析
XmlPullParser xmlPullParser = Xml.newPullParser();
xmlPullParser.setInput(inputStream, "UTF-8");
Bean1 b = null;
int eventType = xmlPullParser.getEventType();
while (eventType != XmlResourceParser.END_DOCUMENT) {
String tagName = xmlPullParser.getName();
switch (eventType) {
case XmlPullParser.START_DOCUMENT:
list = new ArrayList<Bean1>();
break;
case XmlPullParser.START_TAG:
// 如果新闻标签的开始我们需要创建News对象
if ("item".equalsIgnoreCase(tagName)) {
b = new Bean1();
} else if ("title".equals(tagName)) {
b.setTitle(xmlPullParser.nextText());
} else if ("link".equals(tagName)) {
b.setLink(xmlPullParser.nextText());
} else if ("imgs".equals(tagName)) {
b.setImgs(xmlPullParser.nextText());
} else if ("copyright".equals(tagName)) {
b.setCopyright(xmlPullParser.nextText());
} else if ("pubDate".equals(tagName)) {
b.setPubDate(xmlPullParser.nextText());
}
break;
case XmlPullParser.END_TAG:
if ("item".equals(tagName)) {
list.add(b);
Log.e("info", "++++++" + b);
b = null;
}
break;
case XmlPullParser.END_DOCUMENT:
break;
}
eventType = xmlPullParser.next();
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
};
private void show(String strUrl) {
try {
URL url = new URL(strUrl);
// 创建连接
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 执行
connection.connect();
// 获得响应码
int code = connection.getResponseCode();
// 判断
if (code == 200) {
InputStream inputStream = connection.getInputStream();
// pull解析
XmlPullParser xmlPullParser = Xml.newPullParser();
xmlPullParser.setInput(inputStream, "UTF-8");
Bean1 b = null;
int eventType = xmlPullParser.getEventType();
while (eventType != XmlResourceParser.END_DOCUMENT) {
String tagName = xmlPullParser.getName();
switch (eventType) {
case XmlPullParser.START_DOCUMENT:
list = new ArrayList<Bean1>();
break;
case XmlPullParser.START_TAG:
// 如果新闻标签的开始我们需要创建News对象
if ("item".equalsIgnoreCase(tagName)) {
b = new Bean1();
} else if ("title".equals(tagName)) {
b.setTitle(xmlPullParser.nextText());
} else if ("link".equals(tagName)) {
b.setLink(xmlPullParser.nextText());
} else if ("imgs".equals(tagName)) {
b.setImgs(xmlPullParser.nextText());
} else if ("copyright".equals(tagName)) {
b.setCopyright(xmlPullParser.nextText());
} else if ("pubDate".equals(tagName)) {
b.setPubDate(xmlPullParser.nextText());
}
break;
case XmlPullParser.END_TAG:
if ("item".equals(tagName)) {
list.add(b);
Log.e("info", "++++++" + b);
b = null;
}
break;
case XmlPullParser.END_DOCUMENT:
break;
}
eventType = xmlPullParser.next();
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
};