2014-03-28 40 views
1

我正在寫一個簡單的android應用程序,只有兩個片段。首先是內容列表,其次是關於該內容的完整數據。 我想將數據存儲在如下所示的xml文件中。使用android XmlPullParser分析XML文件時的性能問題

<item1> 
     <f1>data</f1> 
     <f2>data</f2> 
     <f3>data</f3> 
     <f4>data</f4> 
     <f5>data</f5> 
    </item1> 
    <item2> 
    ..... 
    </item2> 

我想使用f1,f2和f3來創建我的自定義列表視圖和全部數據的所有字段。我已經通過使用讀取整個數據的XmlPullParser來完成該工作,並將其放在表示java對象的ArrayList中。

問題是我不想每次處理整個數據。我首選的方法是這樣的

當創建列表視圖

  1. 只能從我的文件中讀出F1,F2和F3,因爲我不需要F4和F5。

  2. 起初只讀爲儘可能少的項目!由於只有5-10個項目會顯示在屏幕上,我想首先解析它們,並在回收視圖時根據需要分析項目。

當顯示內容

  • 只得到我想要的其他一百人不是我不關心的項目!

那麼我該如何做到這一點?!我可以閱讀讓我們用有效的方式說出一個xml文件的第200項嗎?預先感謝您的回答。

+0

嘗試XML序列化與http://simple.sourceforge.net/ – playmaker420

+0

http://stackoverflow.com/questions/10765339/the-difference-among-sax-parser -xpath-dom-xmlpullparser – playmaker420

回答

0

爲什麼你不只是使用數據庫?我認爲對於存儲超過200條記錄,建議使用數據庫。 另外,你的xml無效。你需要一個根標籤是這樣的:

<items> 
    <item1> 
     <f1>data</f1> 
     <f2>data</f2> 
     <f3>data</f3> 
     <f4>data</f4> 
     <f5>data</f5> 
    </item1> 
    <item2> 
     ..... 
    </item2> 
</items> 
+0

使用db將解決我的大部分問題,但我不想使用它,因爲我的數據是靜態的!對於我來說靜態內容使用db是沒有意義的。我正在尋找一個正確的方式來做到這一點 – Reza