XML(PULL)解析文件

来源:互联网 发布:windows 组播静态路由 编辑:程序博客网 时间:2024/06/16 19:30


import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;


import org.xmlpull.v1.XmlPullParser;

import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;


import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.util.Xml;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;


public class MainActivity extends Activity {


private ImageLoader mImageLoader;
private String urlStr="http://v.juhe.cn/weixin/query?&dtype=xml&key=854e66d03286d9da4af44a65f01141ec";
private ByteArrayInputStream byteArrayInputStream;
Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
lv.setAdapter(new MyAdapter(getApplicationContext(), list));
};
};
private List<MyList> list;
private ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mImageLoader = ImageLoader.getInstance();
mImageLoader.init(ImageLoaderConfiguration.createDefault(this));
init();
new Thread() {
public void run() {
try {
String readUrl = HttpUtils.ReadUrl(urlStr);
Log.i("MainActivity", readUrl.toString());
byteArrayInputStream = new ByteArrayInputStream(readUrl.getBytes());
XmlParse(byteArrayInputStream);
Log.i("MainActivity", list.toString());
handler.sendEmptyMessage(1);
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
MONI();
}
private void MONI() {
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
Intent i = new Intent(MainActivity.this, WebViewActivity.class);
i.putExtra("url", list.get(arg2).getmUrl());
startActivity(i);
}
});
}
private void init() {
lv = (ListView) findViewById(R.id.main_lv);
}
private void XmlParse(InputStream is) throws Exception {
XmlPullParser newPullParser = Xml.newPullParser();
newPullParser.setInput(is, "utf-8");
int eventType = newPullParser.getEventType();
MyList mList = null;
while (eventType!=XmlPullParser.END_DOCUMENT) {
String name = newPullParser.getName();
switch (eventType) {
case XmlPullParser.START_DOCUMENT:
list = new ArrayList<MyList>();
break;
case XmlPullParser.START_TAG:
if("item".equalsIgnoreCase(name)){
mList = new MyList();
}else if("firstImg".equalsIgnoreCase(name)){
mList.setmFirstImg(newPullParser.nextText());
}else if("source".equalsIgnoreCase(name)){
mList.setmSource(newPullParser.nextText());
}else if("title".equalsIgnoreCase(name)){
mList.setmTitle(newPullParser.nextText());
}else if("url".equalsIgnoreCase(name)){
mList.setmUrl(newPullParser.nextText());
}
break;
case XmlPullParser.END_TAG:
if("item".equalsIgnoreCase(name)){
list.add(mList);
mList = null;
}
break;
}
eventType = newPullParser.next();
}
};
}
0 0
原创粉丝点击