成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android XML讀寫(四)

移動開發 Android
在Java環境中,當您需要一個速度快的解析器并且希望最大限度減少應用程序的內存占用時,通常可以使用SAX API。這非常適用于運行Android的移動設備。您可以在Java環境中照原樣使用SAX API,在Android上運行它不需要做任何修改。顯示了de>FeedParserde>接口的一個SAX實現。

如示例所示,一個 de >ITEMde > 對應于一個 de >Messagede > 實例。項目的子節點(de >TITLEde >、de >LINKde > 等)對應于 de >Messagede > 實例的屬性。現在,您已經對提要有了一定的認識,并且已經創建了所有常用部分,接下來看看如何使用 Android 上可用的各種技術來解析這個提要。您將從 SAX 開始。

使用 SAX

在 Java 環境中,當您需要一個速度快的解析器并且希望***限度減少應用程序的內存占用時,通常可以使用 SAX API。這非常適用于運行 Android 的移動設備。您可以在 Java 環境中照原樣使用 SAX API,在 Android 上運行它不需要做任何修改。顯示了 de >FeedParserde > 接口的一個 SAX 實現。

SAX 實現

java代碼:

  1. public class SaxFeedParser extends BaseFeedParser { 
  2. protected SaxFeedParser(String feedUrl){ 
  3. super(feedUrl); 
  4. public List< Message > parse() { 
  5. SAXParserFactory factory = SAXParserFactory.newInstance(); 
  6. try { 
  7. SAXParser parser = factory.newSAXParser(); 
  8. RssHandler handler = new RssHandler(); 
  9. parser.parse(this.getInputStream(), handler); 
  10. return handler.getMessages(); 
  11. catch (Exception e) { 
  12. throw new RuntimeException(e); 

如果您以前使用過 SAX,那么這對您肯定非常熟悉。與任何 SAX 實現相同,大多數細節都在 SAX 處理程序中。在分解 XML 文檔時,處理程序從 SAX 解析器接收事件。在本例中,您創建了一個新的名稱為 de >RssHandlerde > 的類,并將它注冊為解析器的處理程序,如 所示。

SAX 處理程序

  1. import static org.developerworks.android.BaseFeedParser.*; 
  2. public class RssHandler extends DefaultHandler{ 
  3. private List< Message > messages; 
  4. private Message currentMessage; 
  5. private StringBuilder builder; 
  6. public List< Message > getMessages(){ 
  7. return this.messages; 
  8. @Override 
  9. public void characters(char[] ch, int start, int length) 
  10. throws SAXException { 
  11. super.characters(ch, start, length); 
  12. builder.append(ch, start, length); 
  13. @Override 
  14. public void endElement(String uri, String localName, String name) 
  15. throws SAXException { 
  16. super.endElement(uri, localName, name); 
  17. if (this.currentMessage != null){ 
  18. if (localName.equalsIgnoreCase(TITLE)){ 
  19. currentMessage.setTitle(builder.toString()); 
  20. else if (localName.equalsIgnoreCase(LINK)){ 
  21. currentMessage.setLink(builder.toString()); 
  22. else if (localName.equalsIgnoreCase(DESCRIPTION)){ 
  23. currentMessage.setDescription(builder.toString()); 
  24. else if (localName.equalsIgnoreCase(PUB_DATE)){ 
  25. currentMessage.setDate(builder.toString()); 
  26. else if (localName.equalsIgnoreCase(ITEM)){ 
  27. messages.add(currentMessage); 
  28. builder.setLength(0); 
  29. @Override 
  30. public void startDocument() throws SAXException { 
  31. super.startDocument(); 
  32. messages = new ArrayList< Message >(); 
  33. builder = new StringBuilder(); 
  34. @Override 
  35. public void startElement(String uri, String localName, String name,Attributes attributes) throws SAXException { 
  36. super.startElement(uri, localName, name, attributes); 
  37. if (localName.equalsIgnoreCase(ITEM)){ 
  38. this.currentMessage = new Message(); 
  39. }
責任編輯:閆佳明 來源: my.eoe.cn
相關推薦

2013-06-09 10:04:35

Android開發XML讀寫XML解析

2013-06-09 12:49:15

Android開發XML讀寫XML解析

2013-06-09 12:53:05

Android開發XML讀寫XML解析

2013-06-09 13:07:23

Android開發XML讀寫XML解析

2013-06-09 10:18:29

Android開發XML讀寫XML解析

2013-06-09 10:25:56

Android開發XML讀寫XML解析

2013-06-09 11:31:13

Android開發XML讀寫XML解析

2011-11-08 10:01:53

TinyXML

2013-06-08 13:02:11

Android開發XML解析

2013-06-08 11:04:18

Android開發Pull解析XMLAndroid XML

2010-12-23 09:11:17

讀寫Android文件

2013-06-08 12:49:03

Android開發XML定義菜單

2013-06-08 13:07:54

Android開發Android UILayout XML屬

2013-06-08 13:18:50

Android開發XML構造技巧XML解析

2011-06-22 15:21:08

XML

2009-03-31 13:12:30

解析XMLJava

2010-01-18 13:57:38

VB.NET讀寫注冊表

2010-01-25 18:22:33

Android使用XM

2013-06-08 13:37:28

Android開發XML解析Pull方式

2013-06-08 11:13:00

Android開發XML解析
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品一区二区三区在线观看 | 久久精品一区二区三区四区 | 欧美福利| 日韩一二区 | 国产视频中文字幕 | 极品销魂美女一区二区 | 欧美亚州综合 | 在线电影日韩 | 亚洲一区二区在线视频 | 午夜一区二区三区在线观看 | 999热在线视频 | 日韩日b视频 | 国产精品久久久久久久久久免费看 | 成人网av | 亚洲小视频在线观看 | 精品免费观看 | 国产精品99一区二区 | 99久久免费精品国产免费高清 | 在线免费av观看 | av一二三区| 欧美不卡在线 | 亚洲国产欧美日韩 | 在线91 | 自拍偷拍第一页 | 天天干夜夜操视频 | 成人精品视频在线观看 | 在线一区观看 | 欧美成人精品一区二区男人看 | 成人午夜影院 | 99亚洲精品| 欧美日韩亚洲一区 | 日韩中文字幕av | 久久精品国产99国产精品 | 91欧美精品成人综合在线观看 | 日韩电影免费在线观看中文字幕 | 一区二区三区四区免费视频 | 中文字幕日韩一区 | 91传媒在线观看 | 精品国产99 | 日本成人久久 | 99热热热热|