前兩天用sharedpreference實作了儲存使用者曆史資訊,當使用者再次登入的時候在autocompletetextview(仿google搜尋自動提示框)中顯示曆史使用者資訊。
這次使用者資訊是通過xml儲存的,其中比較中要的包括了xml資料的生成和xml資料的解析,以及生成apk私有資料。
xml資料生成:在将使用者資訊儲存成xml資料前,我們應該先了解一個非常重要的類xmlserializer,這個類幫助我們将需要儲存成xml資料的資訊進行序列化。
代碼
将字串儲存為apk的私有檔案
xml資料解析
由于使用dom方法需要将整個xml文檔加載記憶體中,對系統資源占用比較多,這對記憶體比較緊張的android系統來說,使用dom方法讀取xml文檔會有很大的限制。
是以使用sax方法讀取xml,以減少對記憶體資源的占用。
使用sax解析xml資料其實很簡單,無非就是幾個過程,startdocument——startelement——character——endelement——enddocument
startdocument:開始解析xml資料,如果處理的資料很多,在這裡執行個體化一個list對象。
startelement:節點元素資料的處理,擷取節點元素的屬性值,往往在這裡對抽象化的對象進行執行個體化如一個使用者的資訊userinfo
user
character:獲得傑點元素的内容,在這裡專門獲得沒有屬性節點的内容,如<name>cbin</name>
endelement:一個節點的結束,也就相當于一個使用者資訊的解析完畢,在這裡将user添加到list中
enddocument:xml資料解析結束
表示層與sharedpreferences中實作使用者登入大同小異,無非是一個登入的邏輯處理
1、加載頁面時,加載xml中資料,将使用者名清單綁定autocompletetextview
2、假若從act中標明資料,根據使用者名查找密碼等資訊綁定et、ck;
3、登入成功,是新使用者直接添加,老使用者删除原有記錄,重新記錄使用者資訊。