在有些应用中,有一点小数据。直接存储在XML就是。实现较为简单,

1、xml文件放入asset目录。结构如:

<?xml version="1.0" encoding="UTF-8" ?>

<messages><message id="1"><title>3月毕业证数码像採集</title><date1>3</date1><content>3月12日左右全年一次毕业证数码像採集,由新华社负责</content><url>23</url></message><message id="2"><title>3、9月课程注冊</title><date1>3</date1><content>3月15日、9月15日本学期所修课程注冊、课本征订,包含课程修完学员论文注冊</content><url>23</url>

</message>

</messages>

2 、构建message类,解析xml类PullParseService

3、在activity中调用。

详细代码例如以下:

1.解析xml类

package com.edu.notice;

import java.io.InputStream;

import java.util.ArrayList;

import org.xmlpull.v1.XmlPullParser;

import android.util.Xml;

public class PullParseService {

 public static ArrayList <Message>getMessages(InputStream inputStream) throws Exception{

  ArrayList<Message> messages =null;

  Message message =null;

  XmlPullParser parser = Xml.newPullParser();

  parser.setInput(inputStream, "UTF-8");  

  int event = parser.getEventType();//

  while(event!=XmlPullParser.END_DOCUMENT){  

   switch(event){  

        case XmlPullParser.START_DOCUMENT://

               messages = new ArrayList<Message>();//  

                  break;  

        case XmlPullParser.START_TAG://

                  if("message".equals(parser.getName())){//

                       message = new Message();  

                       message.setId(Integer.parseInt(parser.getAttributeValue(0)));//

                   }  

                   if(message!=null){  

                       if("title".equals(parser.getName())){//

                          message.setTitle(parser.nextText());  

                       }else if("date1".equals(parser.getName())){//

                          message.setData1(Integer.parseInt(parser.nextText()));  


                       }else if("content".equals(parser.getName())){

                        message.setContent(parser.nextText());

                       }else if("url".equals(parser.getName())){

                        message.setUrl(parser.nextText());

                       }

                   }  

                   break;  

               case XmlPullParser.END_TAG://

                   if("message".equals(parser.getName())){// 

                    messages.add(message);//

                    message = null;  

                   }  

                   break;  

              }  

              event = parser.next();//

         }//end while 

  return messages;

  

 };

}

2、xml每一个对象信息类

package com.edu.notice;

public class Message {

 private int id;

 private String title;

 private int data1;

 private String content;

 private String url;

 /**

  * @return the id

  */

 public int getId() {

  return id;

 }

 /**

  * @param id the id to set

  */

 public void setId(int id) {

  this.id = id;

 }

 /**

  * @return the title

  */

 public String getTitle() {

  return title;

 }

 /**

  * @param title the title to set

  */

 public void setTitle(String title) {

  this.title = title;

 }

 /**

  * @return the data1

  */

 public int getData1() {

  return data1;

 }

 /**

  * @param data1 the data1 to set

  */

 public void setData1(int data1) {

  this.data1 = data1;

 }

 /**

  * @return the content

  */

 public String getContent() {

  return content;

 }

 /**

  * @param content the content to set

  */

 public void setContent(String content) {

  this.content = content;

 }

 /**

  * @return the url

  */

 public String getUrl() {

  return url;

 }

 /**

  * @param url the url to set

  */

 public void setUrl(String url) {

  this.url = url;

 }

 

 

 

}

3、读取xml数据应用到应用中

AssetManager  asset =  getAssets();

         try {

    InputStream input=asset.open("message.xml");

    List<Message> list = null;

    try {

     list = PullParseService.getMessages(input);

     

     String tag="xmllllll";

     int id =(int) (Math.random()*12);

     Log.i(tag, list.get(id).getContent());

  //将内容公布广播

     setReminder(true, list.get(id).getContent());

     

     

    } catch (Exception e) {

     // TODO Auto-generated catch block

     e.printStackTrace();

    }

    

   } catch (IOException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

   }

android 读取xml的更多相关文章

  1. Android - 读取XML文件中的数据

    读取XML中存储的数据.将xmlfile.xml存放在assets文件夹中.在activity_main.xml中创建一个textview,用来显示读取到的数据. XML文件内容如下:xmlfile. ...

  2. android读取xml文件来实现省份,城市,区的选择

    本博客如需转载.请注明出处. ------------------------------------------------------------------------------------- ...

  3. android读取xml

    /*** 从config.xml中获取版本信息以及应用id* * @param urlPath* @return* @throws Exception*/public List getUpdateIn ...

  4. cocos2dx中调用TinyXml读取xml配置文件 || cocos2d-x 中跨平台tinyxml读取xml文件方式

    TiXmlDocument *doc = newTiXmlDocument; #if (CC_TARGET_PLATFORM ==CC_PLATFORM_ANDROID) //Android平台tin ...

  5. 【Android】创建、读取XML文件

    创建: package webdomain; import java.io.File; import java.io.FileNotFoundException; import java.io.Fil ...

  6. unity Android 打包后读取 xml 文件

    原地址:http://www.cnblogs.com/wuzhang/p/wuzhang20140731.html 问题:    前天在做东西的过程中发现了一个让人很纠结的问题,为什么Unity 程序 ...

  7. Android 开发自己的网络收音机4——读取XML文件的电台数据

    国内外的电台数据很多,起码有好几百,所以把这些数据都写到代码里面是不实际的.只能写成一个数据文件,程序启动的时候再去加载.保存这些简单数据,我们肯定会优先使用XML文件,今天讲讲如何读取XML里面的数 ...

  8. Android:Xml(读取与存储)

    1.读取XML文件 参数xml是建含xml数据的输入流,List<Person> persons用于存储xml流中的数据. XmlPullParser类的几个方法:next(),nextT ...

  9. Android中写入读取XML

    获取XML文件的基本思路是,通过getResources().getXml()获的XML原始文件,得到XmlResourceParser对象,通过该对象来判断是文档的开头还是结尾,是某个标签的开始还是 ...

随机推荐

  1. [SharePoint]2013装过WindowsServerAppFabricSetup_x64_6.1导致安装不能继续

    还是不要自己手动安装2013支持组件.让他自己慢慢下吧. 浪费一个星期的时间. 特此纪念! 令解http://www.cnblogs.com/jianyus/p/3287625.html

  2. 引用内部函数绑定机制,R转义字符,C++引用,别名,模板元,宏,断言,C++多线程,C++智能指针

     1.引用内部函数绑定机制 #include<iostream> #include<functional> usingnamespacestd; usingnamespac ...

  3. Java向上转型和向下转型(附具体样例)

                                                Java向上转型和向下转型(附具体样例) 熬夜整理的关于Java向上和向下转型的样例,很的通俗易懂哦~~~~ 一 ...

  4. 一起talk C栗子吧(第一百一十九回:C语言实例--线程死锁三)

    各位看官们.大家好,上一回中咱们说的是线程死锁的样例,这一回咱们继续说该样例.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,由于篇幅的原因我们在上一回仅仅介绍了死锁发生的第一种原因,今天 ...

  5. 门面模式(Facade)

    一:定义 提供一个统一的接口代表子系统内部的一组接口.门面模式提供一个高层的接口,使得子系统更易于使用.   二:经验 2.1 window系统的软关机(不是直接断电)是一个过程, 它自己背后会做很多 ...

  6. JDBC整理

    JDBC提供了独立于数据库的统一Api,用以执行SQL命令.JDBC API由以下常用的接口和类组成: DriverManagement:用于管理JDBC驱动的服务类,程序中使用该类的主要功能是获取C ...

  7. 杂项-DB:数据库

    ylbtech-杂项-DB:数据库   数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“数据库”是以一定方式储存在一起.能与 ...

  8. maven、spring jdbc 与mysql

    做一个简单的有数据库的maven项目,目前还是没有前端,而且没有使用mybatis.之后会向项目中添加. 图片 对于上图的说明,第一个大的表格是未运行测试程序数据表的内容,第二个大的表格是运行测试程序 ...

  9. Core Java(五)

    类和对象&方法 ——类的定义 现实世界的事物 属性:人的身高,体重等 行为:人可以学习,吃饭等 Java中用class描述事物也是如此 成员变量:就是事物的属性 成员方法:就是事物的行为    ...

  10. SQL的where执行顺序

    SQL的where执行顺序 1 mysql 从左到右. 一个原则,排除越多的条件放到第一个 例子:抄的. SELECT … WHERE p.languages_id = 1 AND m.languag ...