上一篇中完成了如上圖的UI部分的實現(xiàn),現(xiàn)在繼續(xù)來講功能的實現(xiàn),用戶登錄操作主要就是賬號列表顯示和選擇賬號登錄兩個功能其他的都是些簡單的輔助功能,首先是點擊id為iconSelectBtn的ImageButton時顯示用戶選擇窗口,這個時候去數(shù)據(jù)庫中獲取賬號記錄然后在選擇窗口中以列表方式顯示出來,通過上一篇已經(jīng)知道Id為list的ListView控件來顯示賬號列表,首先是從數(shù)據(jù)庫中獲取所有的賬戶記錄然后設(shè)置默認(rèn)選中的用戶賬號代碼如下:
這個initUser() 初始賬號的方法在LoginActivity的onCreate中調(diào)用,主要完成兩件事情,第一件獲取通過userList = dbHelper.GetUserList(false);獲取所有的賬戶記錄,關(guān)于DataHelper前面已經(jīng)有說過了,如果獲取的用戶記錄為空那么就跳轉(zhuǎn)到用戶授權(quán)功能頁面讓用戶添加賬號,如果不為空那么通過SharedPreferences去讀取用戶上一次選擇的賬號名稱,如果沒有或者數(shù)據(jù)庫里賬號記錄不包括這個賬戶名稱那么默認(rèn)顯示記錄的第一個賬號和頭像,如果有那么顯示這個賬戶的名稱和頭像。關(guān)于SharedPreferences,是android提供給開發(fā)者用來存儲一些簡單的數(shù)據(jù)用的,非常方便類似于網(wǎng)站的Cookie,在這里我就是用這個來保存上一次用戶選擇的是哪個賬號,非常實用。
接下類首先為Id為list的ListView控件準(zhǔn)備數(shù)據(jù)Adapter,這個Adapter非常簡單就是普通的adapter繼承BaseAdapter即可,代碼如下:
接下就是為這個ListView設(shè)定數(shù)據(jù)源Adapter,在賬號選擇窗口顯示的時候進(jìn)行設(shè)置,添加到id為iconSelectBtn的ImageButton的OnClickListener中代碼如下
通過上面代碼完成了賬號選擇的功能,接下來給id為login的ImageButton添加OnClickListener,使得點擊后以當(dāng)前選擇賬號進(jìn)入微博首頁,代碼如下:
在上面的GoHome方法中ConfigHelper.nowUser是類型為UserInfo的static類型用來保存當(dāng)前登錄賬號的信息,替代web中session使用。
最后添加如下方法,用來當(dāng)這個登錄LoginActivity結(jié)束的時候保存當(dāng)前選擇的賬戶名稱到SharedPreferences中,以便幫用戶記住登錄賬號的功能,就是前面的initUser() 初始賬號的方法中會獲取保存在SharedPreferences中的賬戶名稱,代碼如下:
posted on 2012-03-20 22:09
mixer-a 閱讀(288)
評論(0) 編輯 收藏