pull解析+httpurlconnection
来源:互联网 发布:布隆过滤器 java 编辑:程序博客网 时间:2024/05/20 18:15
package com.bwie.activity;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import org.xmlpull.v1.XmlPullParser;
import com.bwie.adapter.MyLvAdapter;
import com.bwie.bean.Bean;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.content.Intent;
import android.util.Xml;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView lv;
String path="http://www.sciencenet.cn/xml/iphoneinterface.aspx?type=news&nums=20&pass=";
private InputStream inputStream;
private List<Bean> listb;
private Handler handler=new Handler(){
public void handleMessage(android.os.Message msg) {
listb=(List<Bean>) msg.obj;
lv.setAdapter(new MyLvAdapter(MainActivity.this,listb));
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent intent=new Intent(MainActivity.this,WebViewActivity.class);
intent.putExtra("link", listb.get(position).getLink());
startActivity(intent);
}
});
};
};
private Bean bean;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.lv);
initEvent();
}
private void initEvent() {
new Thread(){
public void run() {
//获取网络数据
getXml();
pullXml();
};
}.start();
}
protected ArrayList<Bean> pullXml() {
listb = new ArrayList<Bean>();
XmlPullParser pullParser = Xml.newPullParser();
try {
pullParser.setInput(inputStream, "utf-8");
//设置要解析的xml文件到解析器里
String tagName=null;
//得到读取到的事件类型
int eventType = pullParser.getEventType();
//当文档读取结束,循环结束
while(eventType!=XmlPullParser.END_DOCUMENT){
switch(eventType){
case XmlPullParser.START_DOCUMENT:
System.out.println("文档开始读取");
break;
//得到开始标签
case XmlPullParser.START_TAG:
//得到当前开始标签的名字
tagName=pullParser.getName();
System.out.println("文档读取到开始标签:"+tagName);
if("item".equals(tagName)){
bean = new Bean();
}
break;
//读取到文本
case XmlPullParser.TEXT:
if("title".equals(tagName)){
// 获得name标签对应的文本,先获得标签对应的文本,再把文本内容封装起来
// 获得标签对应的文本,pullParser.getText()
bean.setTitle(pullParser.getText().trim());
System.out.println("文本内容:"+pullParser.getText());
}else if("link".equals(tagName)){
bean.setLink(pullParser.getText().trim());
System.out.println("文本内容:"+pullParser.getText());
}else if("imgs".equals(tagName)){
bean.setImgs(pullParser.getText().trim());
System.out.println("文本内容:"+pullParser.getText());
}else if("description".equals(tagName)){
bean.setDescription(pullParser.getText().trim());
System.out.println("文本内容:"+pullParser.getText());
}else if("copyright".equals(tagName)){
bean.setCopyright(pullParser.getText().trim());
System.out.println("文本内容:"+pullParser.getText());
}else if("pubDate".equals(tagName)){
bean.setPubDate(pullParser.getText().trim());
System.out.println("文本内容:"+pullParser.getText());
}else if("comments".equals(tagName)){
bean.setComments(pullParser.getText().trim());
System.out.println("文本内容:"+pullParser.getText());
}
break;
//读取到结束标签
case XmlPullParser.END_TAG:
tagName=pullParser.getName();
System.out.println("文档读取到结束标签:"+tagName);
if("item".equals(tagName)){
listb.add(bean);
}
tagName="";
//文档结束读取
case XmlPullParser.END_DOCUMENT:
System.out.println("文档结束读取");
break;
}
//到下个节点 返回下个节点类型
eventType=pullParser.next();
}
//用handler发送一个集合
Message msg=Message.obtain();
msg.obj=listb;
handler.sendMessage(msg);
} catch (Exception e) {
e.printStackTrace();
}
return (ArrayList<Bean>) listb;
}
protected void getXml() {
try {
URL url=new URL(path);
HttpURLConnection connection=(HttpURLConnection) url.openConnection();
connection.setReadTimeout(5000);
connection.setRequestMethod("GET");
connection.connect();
if(connection.getResponseCode()==200){
inputStream = connection.getInputStream();
}else{
System.out.println("请求失败");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import org.xmlpull.v1.XmlPullParser;
import com.bwie.adapter.MyLvAdapter;
import com.bwie.bean.Bean;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.content.Intent;
import android.util.Xml;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView lv;
String path="http://www.sciencenet.cn/xml/iphoneinterface.aspx?type=news&nums=20&pass=";
private InputStream inputStream;
private List<Bean> listb;
private Handler handler=new Handler(){
public void handleMessage(android.os.Message msg) {
listb=(List<Bean>) msg.obj;
lv.setAdapter(new MyLvAdapter(MainActivity.this,listb));
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent intent=new Intent(MainActivity.this,WebViewActivity.class);
intent.putExtra("link", listb.get(position).getLink());
startActivity(intent);
}
});
};
};
private Bean bean;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.lv);
initEvent();
}
private void initEvent() {
new Thread(){
public void run() {
//获取网络数据
getXml();
pullXml();
};
}.start();
}
protected ArrayList<Bean> pullXml() {
listb = new ArrayList<Bean>();
XmlPullParser pullParser = Xml.newPullParser();
try {
pullParser.setInput(inputStream, "utf-8");
//设置要解析的xml文件到解析器里
String tagName=null;
//得到读取到的事件类型
int eventType = pullParser.getEventType();
//当文档读取结束,循环结束
while(eventType!=XmlPullParser.END_DOCUMENT){
switch(eventType){
case XmlPullParser.START_DOCUMENT:
System.out.println("文档开始读取");
break;
//得到开始标签
case XmlPullParser.START_TAG:
//得到当前开始标签的名字
tagName=pullParser.getName();
System.out.println("文档读取到开始标签:"+tagName);
if("item".equals(tagName)){
bean = new Bean();
}
break;
//读取到文本
case XmlPullParser.TEXT:
if("title".equals(tagName)){
// 获得name标签对应的文本,先获得标签对应的文本,再把文本内容封装起来
// 获得标签对应的文本,pullParser.getText()
bean.setTitle(pullParser.getText().trim());
System.out.println("文本内容:"+pullParser.getText());
}else if("link".equals(tagName)){
bean.setLink(pullParser.getText().trim());
System.out.println("文本内容:"+pullParser.getText());
}else if("imgs".equals(tagName)){
bean.setImgs(pullParser.getText().trim());
System.out.println("文本内容:"+pullParser.getText());
}else if("description".equals(tagName)){
bean.setDescription(pullParser.getText().trim());
System.out.println("文本内容:"+pullParser.getText());
}else if("copyright".equals(tagName)){
bean.setCopyright(pullParser.getText().trim());
System.out.println("文本内容:"+pullParser.getText());
}else if("pubDate".equals(tagName)){
bean.setPubDate(pullParser.getText().trim());
System.out.println("文本内容:"+pullParser.getText());
}else if("comments".equals(tagName)){
bean.setComments(pullParser.getText().trim());
System.out.println("文本内容:"+pullParser.getText());
}
break;
//读取到结束标签
case XmlPullParser.END_TAG:
tagName=pullParser.getName();
System.out.println("文档读取到结束标签:"+tagName);
if("item".equals(tagName)){
listb.add(bean);
}
tagName="";
//文档结束读取
case XmlPullParser.END_DOCUMENT:
System.out.println("文档结束读取");
break;
}
//到下个节点 返回下个节点类型
eventType=pullParser.next();
}
//用handler发送一个集合
Message msg=Message.obtain();
msg.obj=listb;
handler.sendMessage(msg);
} catch (Exception e) {
e.printStackTrace();
}
return (ArrayList<Bean>) listb;
}
protected void getXml() {
try {
URL url=new URL(path);
HttpURLConnection connection=(HttpURLConnection) url.openConnection();
connection.setReadTimeout(5000);
connection.setRequestMethod("GET");
connection.connect();
if(connection.getResponseCode()==200){
inputStream = connection.getInputStream();
}else{
System.out.println("请求失败");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
0 1
- HttpUrlConnection和Pull解析
- pull解析+httpurlconnection
- HttpURLConnection请求与Pull解析
- 通过HttpUrlConnection读取数据进行Pull解析
- HttpUrlconnection+pull
- Android XML解析学习—Pull方式(HttpURLConnection xml)
- HttpURLConnection Handler PULL解析数据 listView 版本更新
- HttpURLConnection 解析
- HttpURLConnection解析
- pull解析
- pull解析
- pull解析
- Pull 解析
- pull解析
- pull解析
- Pull解析
- pull解析
- PULL解析
- XListView刷新
- java类加载器学习2——自定义类加载器和父类委托机制带来的问题/JAVA类加载的委托模型/Java的委托
- cocoa touch——UIPageControl
- iOS 异步加载图片
- Python 网络编程
- pull解析+httpurlconnection
- [hdu1874] 畅通工程续
- 用ImageNet的数据集训练Faster R-CNN
- UITextField
- Python SMTP发送邮件
- iOS QQ的AppID转换16进制的方法
- Bundle传值
- Python 多线程
- UIDatePicker