Android 實現登入使用者資訊儲存

2021-06-27 11:20:50 字數 2741 閱讀 2159

前兩天用sharedpreference實現了儲存使用者歷史資訊,當使用者再次登入的時候在autocompletetextview(仿google搜尋自動提示框)中顯示歷史使用者資訊。

這次使用者資訊是通過xml儲存的,其中比較中要的包括了xml資料的生成和xml資料的解析,以及生成apk私有資料。

xml資料生成:在將使用者資訊儲存成xml資料前,我們應該先了解乙個非常重要的類xmlserializer,這個類幫助我們將需要儲存成xml資料的資訊進行序列化。

**

public

string writetostring(list

<

userinfo

>

users)

serializer.endtag(

"",

"users");

//關閉文件

serializer.enddocument();

} catch

(illegalargumentexception e)

catch

(illegalstateexception e)

catch

(ioexception e)

return

writer.tostring();

}

將字串儲存為apk的私有檔案

**

public

boolean

writetoxml(context context,string str)

catch

(ioexception e)

} catch

(filenotfoundexception e)

}

xml資料解析

由於使用dom方法需要將整個xml文件載入記憶體中,對系統資源占用比較多,這對記憶體比較緊張的android系統來說,使用dom方法讀取xml文件會有很大的限制。 所以使用sax方法讀取xml,以減少對記憶體資源的占用。

使用sax解析xml資料其實很簡單,無非就是幾個過程,startdocument——startelement——character——endelement——enddocument

startdocument:開始解析xml資料,如果處理的資料很多,在這裡例項化乙個list物件。

startelement:節點元素資料的處理,獲取節點元素的屬性值,往往在這裡對抽象化的物件進行例項化如乙個使用者的資訊userinfo user

character:獲得傑點元素的內容,在這裡專門獲得沒有屬性節點的內容,如cbin

endelement:乙個節點的結束,也就相當於乙個使用者資訊的解析完畢,在這裡將user新增到list中

enddocument:xml資料解析結束 **

public

class

usershandler

extends

defaulthandler

//開始處理節點,在這裡獲得節點屬性值的(節點屬性)

@override

public

void

startelement(string uri, string localname, string qname, attributes attributes)

throws

saxexception

this

.tagname

=localname;

super

.startelement(uri, localname, qname, attributes);

}//處理沒有屬性的節點(節點內容)

@override

public

void

characters(

char

ch,

intstart,

intlength)

throws

saxexception

elseif(

this

.tagname.equals(

"pwd"))

elseif(

this

.tagname.endswith(

"isremember"))

}super

.characters(ch, start, length);

}@override

public

void

endelement(string uri, string localname, string qname)

throws

saxexception

super

.endelement(uri, localname, qname);

}@override

public

void

enddocument()

throws

saxexception

public

list

<

userinfo

>

getuserlist()

}

表示層與sharedpreferences中實現使用者登入大同小異,無非是乙個登入的邏輯處理

1、載入頁面時,載入xml中資料,將使用者名稱列表繫結autocompletetextview

2、假若從act中選定資料,根據使用者名稱查詢密碼等資訊繫結et、ck;

3、登入成功,是新使用者直接新增,老使用者刪除原有記錄,重新記錄使用者資訊。

android 實現登入使用者資訊儲存 XML

前兩天用sharedpreference實現了儲存使用者歷史資訊,當使用者再次登入的時候在autocompletetextview 仿google搜尋自動提示框 中顯示歷史使用者資訊。這次使用者資訊是通過xml儲存的,其中比較中要的包括了xml資料的生成和xml資料的解析,以及生成apk私有資料。x...

PLSQL配置登入使用者資訊

plsql配置登入使用者資訊 工作中經常使用plsql 作為oracle的客戶端,可能在沒有配置的前提下需要手動的去輸入使用者名稱 密碼 資料庫名等資訊比較繁瑣。其實我們只要在plsql的安裝檔案中設定下就可以很方便的預設定,就像qq的登入一樣。配置檔案 tnsnames.ora 檔案路徑 一般在 ...

Centos 當前登入使用者資訊 w who

w who 顯示當前登入系統的使用者,但w顯示的更為詳細 who 相關引數 預設輸出 使用者名稱 登入終端 登入時間 a 列出所有資訊 b 系統最近啟動日期 m 當前終端資訊,相當於 who am i q 列出當前登入使用者並統計使用者數量 r 顯示當前系統執行級別 u 顯得當前每個使用者的使用者名...