Android设计登录界面、找回密码、注册功能

本文实例为大家分享了Android 登录、找回密码、注册功能的实现代码,供大家参考,具体内容如下

1.数据库的设计

我在数据库中添加了两张表,一张表用来存储用户信息,诸如用户名,密码,手机号等,可任意添加。另一张表用来存储上一个登录用户的账户信息,我是为了方便才另外创建了一张表去存储,而且这张表我设计了它只能存储一条信息,每次的存储都是对上一条记录的覆盖。事实上,我尝试过在存储用户信息的那张表内添加一个标识,用来标记上一次登录的是哪一个帐号,但是这样做的话,每次改变标识都需要遍历整张表,十分的麻烦,而且我也不知道有什么更高效的方法,毕竟水平有限,在这方面涉水颇浅,如果看了这篇文章的人知道更有效方便的方法,请教教我,谢谢。

关于建表语句就不多说了,但是有唯一一点值得一提的是,根据Google官方 的建议,我们应该统一的将建表语句放置在一个终极类中,当然对于我们的全局变量也是一个道理,这样方便管理,当你需要改变某一全局信息时,可直接找到,方便日后的维护。比如我的终极类就是下面这样 ->

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.首先看看登录界面

概要设计

Sign in 按钮设置监听事件,当用户点击该按钮时,首先获取到用户在App ID 和 Password 输入控件中输入的信息,然后对信息进行以下判断。

1).首先使用 TextUtils 中的 isEmpty() 方法判断输入信息是否为空(TextUtils.isEmpty() 这个方法对于参数为空或者”” 都会返回true)

2).在上一步骤正确执行之后,接下来就是将已经获取到的用户名和密码与数据库中的信息进行匹配 ,这个工作要由一个专门的数据库管理类来完成,不可在Activity中进行此类操作,要根据单一职责原则来设计类。

3).若在数据库中查询到相关的用户名和密码就返回这个用户类,将信息封装在其中,如果没有查到,就返回一个null,方便Activity 进行判断。

3.注册界面

关于 App ID 和 Password 的输入,要注意进行相应合法性判断,其次就是这个手机号码,在真实项目中,这个选项应该有发送验证码的功能,因为手机号是可以用于帐号密码找回的,非常重要。

4.密码找回

这里只有一个 输入手机号码的控件,输入时要进行合法性判断,比如说如果位数小于11,那么就可以直接进行提示,而不是先去数据库中找一遍,那样效率是非常低的。如果输入的手机号是合法性的,在到数据库中去寻找,如果找到了,显示用户的信息 ->

在这里,提供了一个修改密码的功能,毕竟如果用户忘记了原先的密码,可能会想要修改密码的,在查看具体信息时能直接修改是非常人性化的设计。

5.关于AlertDialog.Builder

有时候,AlertDialog.Builder 提供给我们的样式是不能够满足我们的,比如我想将PositiveButton 和 NegativeButton 设置成和我们主题一致的颜色,那么就需要自定义一个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>

然后只需要在代码中这样声明,就可以使用自定义样式了

复制代码 代码如下: final AlertDialog.Builder dialog = new AlertDialog.Builder(this,R.style.MyAlertDialog);

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

更多内容请参考专题:Android密码使用教程

以上就是本文的全部内容,希望对大家学习Android软件编程有所帮助。

时间: 2024-10-24 20:34:29

Android设计登录界面、找回密码、注册功能的相关文章

Android设计登录界面、找回密码、注册功能_Android

本文实例为大家分享了Android 登录.找回密码.注册功能的实现代码,供大家参考,具体内容如下 1.数据库的设计 我在数据库中添加了两张表,一张表用来存储用户信息,诸如用户名,密码,手机号等,可任意添加.另一张表用来存储上一个登录用户的账户信息,我是为了方便才另外创建了一张表去存储,而且这张表我设计了它只能存储一条信息,每次的存储都是对上一条记录的覆盖.事实上,我尝试过在存储用户信息的那张表内添加一个标识,用来标记上一次登录的是哪一个帐号,但是这样做的话,每次改变标识都需要遍历整张表,十分的麻

Android实现登录界面记住密码的存储

Android存储方式有很多种,在这里所用的存储方式是SharedPreferrences, 其采用了Map数据结构来存储数据,以键值的方式存储,可以简单的读取与写入.所以比较适合我们今天做的这个项目.我们来看一下运行图: 一.布局界面 1.login_top.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.a

密码-Android的登录界面和注册界面之间的跳转问题

问题描述 Android的登录界面和注册界面之间的跳转问题 想做一个简易系统 1.软件名字为"CardsAssistant",兼容Android4.0以上版本. 2. 当用户启动本软件,显示标题为"CardsAssistant"的登录页面,如图1所示,登录页面中有两个名为"账户名"."密码"的TextView,这两个TextView分别对应一个EditText,当用户点击"取消"按钮时,当前CardsAss

Android 使用SharedPreferrences储存密码登录界面记住密码功能

Android存储方式有很多种,在这里所用的存储方式是SharedPreferrences, 其采用了Map数据结构来存储数据,以键值的方式存储,可以简单的读取与写入.所以比较适合我们今天做的这个项目.我们来看一下运行图: 一.布局界面 1.login_top.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.a

delphi 7-delphi设计登录界面密码错误限制3次登录

问题描述 delphi设计登录界面密码错误限制3次登录 本人在用delphi做一个登录界面, 想限制登录次数,如果密码输错3次,禁止登录,退出系统.请教大家帮我看一下,限制密码错误登录3次的代码哪里错了?运行结果是:无论密码输错几次,都不会退出系统.很着急,求大神,在线等,谢谢! 解决方案 按照你的方法做了,还是不可以 解决方案二: 把count的定义放在函数外面,作为成员变量.否则每次执行按钮,都是0 解决方案三: 1.Count变量在第二张图中定义和初始化为0是正确的,即不能放在SpeedB

c#-C#登录界面 用户名密码要和权限(如学生 。老师)对应代码

问题描述 C#登录界面 用户名密码要和权限(如学生 .老师)对应代码 我做的c#登录界面,数据库为acess,我输入一个用户名和密码选择不同的权限能进入不同权限的界面.求怎样能一个用户名密码只能对应一个权限的代码. 解决方案 虽然你的设计很奇怪,但是非要这么做也不是不可以.只是那你得维护权限和密码的关系表,以及用户和权限的关系表,而不是用户直接和密码的关系. 解决方案二: 一般权限体系是和角色挂钩的,比如有这样的角色:教师.学生,不同的角色具有不同的功能权限.具体某个用户归属于哪个角色, 他就具

Android miniTwitter登录界面开发实例

本文要演示的Android开发实例是如何完成一个Android中的miniTwitter登录界面,下面将分步骤讲解怎样实现图中的界面效果,让大家都能轻松的做出美观的登录界面. 先贴上最终要完成的效果图: miniTwitter登录界面的布局分析 首先由界面图分析布局,基本可以分为三个部分,下面分别讲解每个部分. 第一部分是一个带渐变色背景的LinearLayout布局,关于背景渐变色就不再贴代码了,效果如下图所示: 第二部分,红色线区域内,包括1,2,3,4 如图所示: 红色的1表示的是一个带圆

win8系统登录界面没有密码框

问题描述 win8系统登录界面没有密码框 win8系统登录界面没有密码框. 我设计了密码的.怎么办.还原和修复过了都不可以 解决方案 鼠标点头像也没么?

Android QQ登录界面绘制代码_Android

先看看效果图: 首先过程中碰到的几个问题:  1.对 EditText 进行自定义背景  2.运行时自动 EditText 自动获得焦点  3.在获得焦点时即清空 hint ,而不是输入后清空  4.清空按钮的出现时机(在得到焦点并且有输入内容时)  ---  这些问题都有一一解决 --- 以下是代码:  布局 fragment_main(问题2) <!-- android:focusable="true" android:focusableInTouchMode="t