您的位置:首页 > 其它

XML(PULL)解析文件

2016-07-27 10:22 302 查看
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();
}
};

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: