安卓學習筆記07 使用pull解析xml檔案

2021-06-30 16:49:41 字數 2274 閱讀 5142

一、esplise部分

ctrl+shift+s,c,o,r初始化建構函式

二、xml序列化與解析  

序列化xml檔案

1、建立xmlserializer 物件

xmlserializer serializer=xml.newserializer();

2、指定序列化輸出的流

fileoutputstream fos=new fileoutputstream("路徑");

serilizer.setoutput(fos,"utf-8"); 

注意要丟擲異常

如:xmlserializer serializer = xml.newserializer();//建立xmlserializer的物件

//指定序列化物件輸出物件

fileoutputstream fos=new fileoutputstream("/mnt/sdcard/person.xml");

serializer.setoutput(fos,"utf-8");

3、寫檔案頭

serilzer.starttag("utf-8",true);

注意標記xml檔案尾部輸出完畢,以防遺忘。

serilzer.endtag();

如:serializer.startdocument("utf-8",true);//寫xml的頭

頭結點serializer.enddocument();//標記xml輸出完畢

4、在檔案頭尾之間寫如檔案根節點

serilizer.starttag(spacename,nodename);

其中spacename為命名空間名稱,一般設為null,nodename為節點名稱。

serilizer.endtag(spacename,nodename); //自動新增「/」

如: serializer.starttag(null,"persons");//開始根結節點

節點 serializer.endtag(null, "persons");//結束根節點

5、在根節點之間寫入子節點

如: serializer.starttag(null, "person");

serializer.attribute(null, "id", string.valueof(person.getid()));

//節點屬性第乙個引數為命名空間名稱,第二個引數為屬性名,第三個引數為屬性值。編譯器將預設該屬性為該節點屬性

//寫人的姓名

serializer.starttag(null, "name");

serializer.text(person.getname());

serializer.endtag(null, "name");

//寫入人的年齡

serializer.starttag(null, "age");

serializer.text(string.valueof(person.getage()));

serializer.endtag(null, "name");

serializer.endtag(null, "person");

注意:涉及到寫與讀的操作,一定要考慮許可權問題。

解析xml檔案

1、建立pull解析器檔案物件

xmlpullparse parser=xml.newpullparser();

2、指定解析檔案

fileinputstream fis=new fileinputstream("路徑名");

parser.setinput(fis,"utf-8");

3、用事件來構造解析器

int eventtype=parser.geteventtype();//獲得解析器第乙個事件型別

由於事件型別多種(獲得事件即為xml檔案中的標籤,所以不唯一就需要用迴圈來解決問題)。

如:while(eventtype!=xmlpullparser.end_document)

else if("person".equals(tagname))

else if ("name".equals(tagname))

else if ("age".equals(tagname))

break;

case  xmlpullparser.end_tag:  //代表結束節點

if ("person".equals(tagname)) 

break

default:

break;

}eventtype=parser.next();//繼續下乙個節點型別

}

安卓學習筆記二

1 安卓intent啟動系統activity 1 啟動瀏覽器 intent intent new intent intent.setaction intent.action view uri url uri.parse intent.setdata url startactivity intent ...

安卓開發學習筆記

android設定背景色為透明 方法一 只要在配置檔案內activity屬性配置內加上 android theme android style theme.translucent 就好了。這樣就呼叫了android的透明樣式!方法二 先在res values下建colors.xml檔案,寫入 這個值...

安卓開發 學習筆記

setcontentview r.layout.activity main 這裡activity main為指定布局檔案 activity main.xml 在r所對應的變數,載入布局檔案,並顯示到視窗中。注 這裡布局檔案都在res資源目錄下 關於尺寸 在布局檔案中,除了字型大小,其他的都以dp作為...