最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android設(shè)計登錄界面、找回密碼、注冊功能

 更新時間:2020年05月25日 15:27:49   作者:高華峰  
這篇文章主要為大家詳細(xì)介紹了Android設(shè)計登錄界面的方法,Android實現(xiàn)找回密碼、注冊功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Android 登錄、找回密碼、注冊功能的實現(xiàn)代碼,供大家參考,具體內(nèi)容如下

1.數(shù)據(jù)庫的設(shè)計

我在數(shù)據(jù)庫中添加了兩張表,一張表用來存儲用戶信息,諸如用戶名,密碼,手機(jī)號等,可任意添加。另一張表用來存儲上一個登錄用戶的賬戶信息,我是為了方便才另外創(chuàng)建了一張表去存儲,而且這張表我設(shè)計了它只能存儲一條信息,每次的存儲都是對上一條記錄的覆蓋。事實上,我嘗試過在存儲用戶信息的那張表內(nèi)添加一個標(biāo)識,用來標(biāo)記上一次登錄的是哪一個帳號,但是這樣做的話,每次改變標(biāo)識都需要遍歷整張表,十分的麻煩,而且我也不知道有什么更高效的方法,畢竟水平有限,在這方面涉水頗淺,如果看了這篇文章的人知道更有效方便的方法,請教教我,謝謝。

關(guān)于建表語句就不多說了,但是有唯一一點值得一提的是,根據(jù)Google官方 的建議,我們應(yīng)該統(tǒng)一的將建表語句放置在一個終極類中,當(dāng)然對于我們的全局變量也是一個道理,這樣方便管理,當(dāng)你需要改變某一全局信息時,可直接找到,方便日后的維護(hù)。比如我的終極類就是下面這樣 ->

public final class GlobeManager {

 public GlobeManager() {
 }

 public static abstract class UserInfo {
 public static final String ID = "id";
 public static final String USERNAME = "username";
 public static final String USERPASSWORD = "password";
 public static final String TABLENAME = "usertable";
 public static final String DATABASENAME = "userdatabse";
 public static final String PHONENUMBER = "phone";

 public static final String CREATE_TABLE = "create table " + TABLENAME + "("
 + ID + " integer primary key autoincrement,"
 + USERNAME + " text,"
 + PHONENUMBER + " text,"
 + USERPASSWORD + " text)";
 }

 public static String PHONEKEY = "phonekey";

 public static abstract class RecentUsers {

 public static final String ID = "id";
 public static final String RECENTNAME = "recentname";
 public static final String RECENTPASSWORD = "recentpassword";
 public static final String ONLYKEY = "key";
 public static final String TABLENAME = "recenttable";

 public static final String CREATE_TABLE= "create table "+ TABLENAME +"("
 +ID + " integer primary key autoincrement,"
 +RECENTNAME + " text,"
 +RECENTPASSWORD +" text,"
 +ONLYKEY + " text)";
 }
}

2.首先看看登錄界面

概要設(shè)計

Sign in 按鈕設(shè)置監(jiān)聽事件,當(dāng)用戶點擊該按鈕時,首先獲取到用戶在App ID 和 Password 輸入控件中輸入的信息,然后對信息進(jìn)行以下判斷。

1).首先使用 TextUtils 中的 isEmpty() 方法判斷輸入信息是否為空(TextUtils.isEmpty() 這個方法對于參數(shù)為空或者”” 都會返回true)

2).在上一步驟正確執(zhí)行之后,接下來就是將已經(jīng)獲取到的用戶名和密碼與數(shù)據(jù)庫中的信息進(jìn)行匹配 ,這個工作要由一個專門的數(shù)據(jù)庫管理類來完成,不可在Activity中進(jìn)行此類操作,要根據(jù)單一職責(zé)原則來設(shè)計類。

3).若在數(shù)據(jù)庫中查詢到相關(guān)的用戶名和密碼就返回這個用戶類,將信息封裝在其中,如果沒有查到,就返回一個null,方便Activity 進(jìn)行判斷。

3.注冊界面

關(guān)于 App ID 和 Password 的輸入,要注意進(jìn)行相應(yīng)合法性判斷,其次就是這個手機(jī)號碼,在真實項目中,這個選項應(yīng)該有發(fā)送驗證碼的功能,因為手機(jī)號是可以用于帳號密碼找回的,非常重要。

4.密碼找回

這里只有一個 輸入手機(jī)號碼的控件,輸入時要進(jìn)行合法性判斷,比如說如果位數(shù)小于11,那么就可以直接進(jìn)行提示,而不是先去數(shù)據(jù)庫中找一遍,那樣效率是非常低的。如果輸入的手機(jī)號是合法性的,在到數(shù)據(jù)庫中去尋找,如果找到了,顯示用戶的信息 ->

在這里,提供了一個修改密碼的功能,畢竟如果用戶忘記了原先的密碼,可能會想要修改密碼的,在查看具體信息時能直接修改是非常人性化的設(shè)計。

5.關(guān)于AlertDialog.Builder

有時候,AlertDialog.Builder 提供給我們的樣式是不能夠滿足我們的,比如我想將PositiveButton 和 NegativeButton 設(shè)置成和我們主題一致的顏色,那么就需要自定義一個style,如下

 <style name="MyAlertDialog" parent="Theme.AppCompat.Light.Dialog.Alert">

 //用于改變Button 的顏色
 <item name="android:colorAccent">@color/colorAccent</item>

 //用于改變Message 字的顏色
 <item name="android:textColorPrimary">#000000</item>
 </style>
 //用于改變Dialog 的背景顏色
 <item name="android:background">#4CAF50</item>

然后只需要在代碼中這樣聲明,就可以使用自定義樣式了

復(fù)制代碼 代碼如下:
 final AlertDialog.Builder dialog = new AlertDialog.Builder(this,R.style.MyAlertDialog);

源碼下載地址:http://xiazai.jb51.net/201605/yuanma/AndroidAPP(jb51.net).rar

更多內(nèi)容請參考專題:Android密碼使用教程

以上就是本文的全部內(nèi)容,希望對大家學(xué)習(xí)Android軟件編程有所幫助。

相關(guān)文章

最新評論

池州市| 漯河市| 永春县| 巴中市| 黔东| 怀宁县| 北流市| 宁陵县| 荥经县| 习水县| 石景山区| 大姚县| 遂昌县| 淅川县| 河曲县| 思茅市| 洪雅县| 慈溪市| 潞西市| 海口市| 壶关县| 廊坊市| 兴文县| 太仆寺旗| 社会| 崇左市| 桐乡市| 曲水县| 平和县| 阳山县| 洮南市| 普格县| 延安市| 彰武县| 五河县| 鹤庆县| 阜新| 抚远县| 罗江县| 阜新| 出国|