设为首页 加入收藏

TOP

Android笔记——Android中数据的存储方式(二)(四)
2017-10-12 10:08:34 】 浏览:10021
Tags:Android 笔记 数据 存储 方式
mport
android.util.Xml; import android.view.Menu; import android.view.View; public class MainActivity extends Activity { List<City> cityList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void click(View v){ //解析xml文件 //1. 拿到资源文件 InputStream is = getClassLoader().getResourceAsStream("weather.xml"); //2. 拿到解析器对象 XmlPullParser xp = Xml.newPullParser(); try { //3. 初始化xp对象 xp.setInput(is, "gbk"); //4.开始解析 //获取当前节点的事件类型 int type = xp.getEventType(); City city = null; while(type != XmlPullParser.END_DOCUMENT){ //判断当前解析到哪一个节点,从而确定你要做什么操作 switch (type) { case XmlPullParser.START_TAG: // 获取当前节点的名字 if("weather".equals(xp.getName())){ cityList = new ArrayList<City>(); } else if("city".equals(xp.getName())){ city = new City(); } else if("name".equals(xp.getName())){ // 获取当前节点的下一个节点的文本,把指针移动到当前节点的结束节点 String name = xp.nextText(); city.setName(name); } else if("temp".equals(xp.getName())){ // 获取当前节点的下一个节点的文本,把指针移动到当前节点的结束节点 String temp = xp.nextText(); city.setTemp(temp); } else if("pm25".equals(xp.getName())){ // 获取当前节点的下一个节点的文本,把指针移动到当前节点的结束节点 String pm25 = xp.nextText(); city.setPm25(pm25); } break; case XmlPullParser.END_TAG: if("city".equals(xp.getName())){ cityList.add(city); } break; } //把指针移动到下一个节点 type = xp.next(); } for (City c : cityList) { System.out.println(c.toString()); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

 

  

  

参考资料:

Android应用开发基础之数据存储和界面展现(三)

《疯狂Android讲义》(第2版)

 

首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇自定义View等待旋转 下一篇android对象序列化Parcelable浅析

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目