Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android 讀取xml

android 讀取xml

編輯:關於Android編程

在有些應用中,有一點小數據,直接存儲在XML就是,實現較為簡單,

1、xml文件放入asset文件夾,結構如:


3月畢業證數碼像采集33月12日左右全年一次畢業證數碼像采集,由新華社負責233、9月課程注冊33月15日、9月15日本學期所修課程注冊、課本征訂,包括課程修完學員論文注冊23

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 getMessages(InputStream inputStream) throws Exception{
ArrayList 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();//
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 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();
}

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved