Android小白,实现本次项目,参照了很多大佬的代码。其中有些不足的地方请指点交流。
一、项目实现内容:
1.实现登录页面:
1.1 注册用户
1.2 登录用户
1.3 注销用户
1.4 更改密码
2.淘宝界面:
登录之后淘宝界面视频:
视频
二、运行结果与代码实现:
《数据库文件请看Dome》
1.进入app
1.1布局设计:

布局文件名:activity_main.xml
1.2 MainActivity.java内容:

1.找到自己需要的使用的按钮:
   Button but_login = (Button) findViewById(R.id.M_but1);Button but_register = (Button) findViewById(R.id.M_but2); 
   2.注册按钮点击事件:
 `             but_login.setOnClickListener(mListener);but_register.setOnClickListener(mListener);`

3.使用switch语句getId()方法进行控件配对:

public void onClick(View v) {switch (v.getId()) {case R.id.M_but1:Intent intent_login = new Intent(MainActivity.this,UserLogin.class);startActivity(intent_login);finish();break;case R.id.M_but2:register();break;}}

4.使用Intent意图实现页面跳转:

//跳转至登录界面:
Intent intent_login = new Intent(MainActivity.this,UserLogin.class);startActivity(intent_login);finish();//跳转至注册界面:
Intent intent_login = new Intent(MainActivity.this,UserRegster.class);startActivity(intent_login);finish();

注意事项:使用intent实现页面跳转需要在AndroidManifest.xml文件里面注册,
如下:

<activity
            android:name="com.example.tangbeibei.UserLogin"android:label="登陆界面" ></activity><activity
            android:name="com.example.tangbeibei.UserRegister"android:label="注册页面"></activity>

2.登入页面:

2.1布局设计:

布局文件名:u_login.xml
2.2 UserLogin.java内容:
1.点击记住密码

使用SharedPreferences存储并记住密码
private SharedPreferences login_sp;

  private UserDataManager mUserDataManager;获取用户账户与密码String name = login_sp.getString("USER_NAME","");String pwd = login_sp.getString("PASSWORD", "");设置没有勾选为false用于if语句判断boolean choseRemember = login_sp.getBoolean("mRememberCheck", false);
if (choseRemember) {edit_name.setText(name);edit_pwd.setText(pwd);che_autlogin.setChecked(true);}
调用数据库UserManager.java的中的findUserByNameAndPwd方法,获取数据库中的信息。
int result = mUserDataManager.findUserByNameAndPwd(userName,userPwd);//判断是否勾选了记住密码选项:
if (che_autpwd.isChecked()) {editor.putBoolean("mRememberCheck", true);} else {editor.putBoolean("mRememberCheck", false);}

2.登录成功的实现:
2.1判断改用户是否输入账户与密码:
定义一个isUserNameAndPwdValid()的方法,使用getText获取用户输入的信息,并使用equals进行判断。使用Toast输入提示信息。Trim()的作用是去空格。

private boolean isUserNameAndPwdValid() {if (edit_name.getText().toString().trim().equals("")) {Toast.makeText(this, "请输入账号", Toast.LENGTH_SHORT).show();return false;} else if (edit_pwd.getText().toString().trim().equals("")) {Toast.makeText(this, "请输入密码", Toast.LENGTH_SHORT).show();return false;}return true;}

2.1配对数据库中的账户与密码:
使用findUserByNameAndPwd获数据库中的账号密码,使用if语句判断。

 int result = mUserDataManager.findUserByNameAndPwd(userName,userPwd);if (result == 1) { // 返回1说明用户名和密码均正确// 保存用户名和密码editor.putString("USER_NAME", userName);editor.putString("PASSWORD", userPwd);// 是否记住密码if (che_autpwd.isChecked()) {editor.putBoolean("mRememberCheck", true);} else {editor.putBoolean("mRememberCheck", false);}editor.commit();// 登录成功跳转至UserSucLogin页面Intent intent = new Intent(UserLogin.this, UserSucLogin.class);startActivity(intent);finish();Toast.makeText(this, "登录成功", Toast.LENGTH_SHORT).show();// 登录成功提示} else if (result == 0) {Toast.makeText(this, "登录失败", Toast.LENGTH_SHORT).show(); // 登录失败提示}}}

2.3 连接数据库:

 //打开数据库@Overrideprotected void onResume() {if (mUserDataManager == null) {mUserDataManager = new UserDataManager(this);mUserDataManager.openDataBase();}super.onResume();}//释放资源@Overrideprotected void onDestroy() {super.onDestroy();}//关闭数据库@Overrideprotected void onPause() {if (mUserDataManager != null) {mUserDataManager.closeDataBase();mUserDataManager = null;}super.onPause();}

2.1注销账户:
首先调用isUserNameAndPwdValid()方法对账户秘密进行判断。正确后,获取账号与密码,使用setText(””);将账户用于密码设置为空字串。从而实现注销密码。

public void cancel() { // 注销if (isUserNameAndPwdValid()) {String userName = edit_name.getText().toString().trim(); // 获取当前输入的用户名和密码信息String userPwd = edit_pwd.getText().toString().trim();int result = mUserDataManager.findUserByNameAndPwd(userName,userPwd);if (result == 1) { // 返回1说明用户名和密码均正确Toast.makeText(this, "注销成功", Toast.LENGTH_SHORT).show();edit_name.setText("");edit_pwd.setText("");mUserDataManager.deleteUserDatabyname(userName);} else if (result == 0) {Toast.makeText(this, "注销失败", Toast.LENGTH_SHORT).show(); // 注销失败提示}}}

3.注册页面:

3.1布局设计:

布局文件:UserRegister.xml
3.2 UsesrRegister.java

 1.创建本地数据库
if (mUserDataManager == null) {mUserDataManager = new UserDataManager(this);// 创建本地数据库mUserDataManager.openDataBase();}}2.打开数据库,进行用户存储
UserDatabase mUser = new UserDatabase(userName, userPwd); mUserDataManager.openDataBase();
long flag = mUserDataManager.insertUserData(mUser);

4.更新密码页面:

4.1页面设计:

布局文件:u_upudata.xml
4.2 UserUpdatPwd.java内容
注释写的很详细:

 public class UserUpdatePwd extends Activity {private EditText mName;private EditText mPwd_new;private EditText mPwd_old;private EditText mCheckPwd;private Button but_determine;private Button but_Off;private UserDataManager mUserDataManager;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.u_upadate);mName = (EditText) findViewById(R.id.Up_edit1);mPwd_new = (EditText) findViewById(R.id.Up_edit3);mPwd_old = (EditText) findViewById(R.id.Up_edit2);mCheckPwd = (EditText) findViewById(R.id.Up_edit4);but_determine = (Button) findViewById(R.id.Up_but1);but_Off = (Button) findViewById(R.id.Up_but2);but_determine.setOnClickListener(m_resetpwd_Listener); // 注册界面两个按钮的监听事件but_Off.setOnClickListener(m_resetpwd_Listener);if (mUserDataManager == null) {mUserDataManager = new UserDataManager(this);mUserDataManager.openDataBase(); // 建立本地数据库}}OnClickListener m_resetpwd_Listener = new OnClickListener() {@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.Up_but1: // 确认按钮的监听事件resetpwd_check();break;case R.id.Up_but2: // 取消按钮的监听事件,由注册界面返回登录界面Intent intent_Resetpwd_to_Login = new Intent(UserUpdatePwd.this, UserLogin.class); // 切换Resetpwd// Activity至Login// ActivitystartActivity(intent_Resetpwd_to_Login);finish();break;}}};private void resetpwd_check() {if (isUserNameAndPwdValid()) { String userName = mName.getText().toString().trim(); String userPwd_old = mPwd_old.getText().toString().trim(); String userPwd_new = mPwd_new.getText().toString().trim(); String userPwdCheck = mCheckPwd.getText().toString().trim(); int result=mUserDataManager.findUserByNameAndPwd(userName, userPwd_old); if(result==1){                                             //返回1说明用户名和密码均正确,继续后续操作 if(userPwd_new.equals(userPwdCheck)==false){           //两次密码输入不一样 Toast.makeText(this, "",Toast.LENGTH_SHORT).show(); return ; } else { UserDatabase mUser = new UserDatabase(userName, userPwd_new); mUserDataManager.openDataBase(); boolean flag = mUserDataManager.updateUserData(mUser); if (flag == false) { Toast.makeText(this, "更改密码成功",Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(this, "更改密码失败",Toast.LENGTH_SHORT).show(); mUser.pwdresetFlag=1; Intent intent_Register_to_Login = new Intent(UserUpdatePwd.this,UserLogin.class) ;    //切换User Activity至Login Activity startActivity(intent_Register_to_Login); finish(); } } }else if(result==0){                                       //返回0说明用户名和密码不匹配,重新输入 Toast.makeText(this, "用户名和密码不匹配,重新输入",Toast.LENGTH_SHORT).show(); return; } } } public boolean isUserNameAndPwdValid() { String userName = mName.getText().toString().trim(); //检查用户是否存在 int count=mUserDataManager.findUserByName(userName); //用户不存在时返回,给出提示文字 if(count<=0){ Toast.makeText(this,"此用户不存在",Toast.LENGTH_SHORT).show(); return false; } if (mName.getText().toString().trim().equals("")) { Toast.makeText(this, "请输入账号",Toast.LENGTH_SHORT).show(); return false; } else if (mPwd_old.getText().toString().trim().equals("")) { Toast.makeText(this, "请输入旧密码",Toast.LENGTH_SHORT).show(); return false; } else if (mPwd_new.getText().toString().trim().equals("")) { Toast.makeText(this, "请输入新密码",Toast.LENGTH_SHORT).show(); return false; }else if(mCheckPwd.getText().toString().trim().equals("")) { Toast.makeText(this, "请再次确认密码",Toast.LENGTH_SHORT).show(); return false; } return true; }
}

6.登录成功界面
布局设计:

源代码下载

淘宝界面实现以及登录注册界面相关推荐

  1. php mysql注册登录界面_php实现登录注册界面

    php实现登录注册界面 首先你要搭建一个自己的数据库 我用wamp64创了一个people的数据库 具体操作可以参考该搭建链接: 这里就讲下我实现的功能代码: 创建sql.func.php实现一些基本 ...

  2. swing界面设计之登录注册界面

    开发环境:Eclipse Neon.3 Release (4.6.3) 我用的为javaee版本的,为了便于设计界面,需要安装windowbuilder插件,可以直接在marketplace里搜索到. ...

  3. 【Vue作业]---Vue登录注册界面

    1.引言 你是否有过相关设计结课作业,课程设计无处下手,网页要求的总数量太多?没有合适的模板?数据库,java,python,vue,html作业复杂工程量过大?毕设毫无头绪等等一系列问题.你想要解决 ...

  4. 右侧按钮登录注册html,翻转式用户登录注册界面设计

    这是一款非常实用的翻转式用户登录注册界面设计效果.该用户登录注册界面使用纯CSS3来制作,在用户点击登录和注册两个按钮时,登录和注册界面可以以水平翻转的方式来回切换,效果非常的酷. 制作方法 HTML ...

  5. Android开发:登录/注册界面的编写

    目录 新建一个空项目(或Activity) 在xml中绘制登录界面 关掉ActionBar 运行(最终效果图) 后记 在实际开发中,几乎所有的APP都会涉及到用户注册/登录页面的制作,因此本文以And ...

  6. QT 实现类似于qq的登录注册界面

    QT 实现类似于qq的登录界面(仅供参考) 看一下效果图 一:首先创建一个widget项目设计ui界面 使用了LineEdit,QPushButton,QToolButton,QLabel,还有弹簧 ...

  7. python做一个登录注册界面_Python 实现简单的登录注册界面

    Python 实现简单的登录注册界面 注意:编写代码之前需要导入很重要的包 import tkinter as tk import pickle from tkinter import message ...

  8. python做一个登录注册界面_python做一个登录注册界面的方法

    python做一个登录注册界面的方法 发布时间:2020-08-21 10:37:05 来源:亿速云 阅读:111 作者:小新 这篇文章主要介绍python做一个登录注册界面的方法,文中介绍的非常详细 ...

  9. python-简单用户登录注册界面实现

    用户登录注册界面实现 # 登录注册页面 # 登录注册系统 # 要求:能够实现注册新用户.能够实现老用户登录.能够退出系统. # 1.先打印系统首页 # 2.注册--注册成功,用户名已存在 # 3.登录 ...

最新文章

  1. 机械工业出版社之道格·赫尔曼《Python 3标准库》目录
  2. centos 磁盘扩容,新建lv
  3. windows apache html5,Windows服务器下的IIS和Apache性能比较
  4. aimesh node重启_ASSIMP的数据结构
  5. Oracle分区技术特性详细解读
  6. 实习日志_实习律师实习日志第十八篇(连载30篇)
  7. ROS入门-5.认识ROS及ROS的基本概念
  8. 在服务器上log4net没写日志
  9. *第十三周*数据结构实践项目一【验证Prim算法】
  10. 计算机网络—3网络层(IP地址及分类、子网掩码及划分子网)
  11. python网页抓取与按键精灵原理一样吗_按键精灵等以GUI接口为基础的程序在爬虫界的地位是怎样的?...
  12. mac使用Alfred搜索外接移动硬盘失败的解决方法
  13. 尚学堂视频笔记五:IO流
  14. Git之(三)辅助命令
  15. R语言ggplot2 | 如何自定义facet分面的坐标轴范围
  16. DevExpress之C#界面+MATLAB动态链接库联合编程
  17. Kinect+Unity 实现虚拟人物动作同步(羽毛球场景)
  18. Jetson Nano安装ROS错误合集
  19. 【FF14】工匠配方爬取
  20. python保留两位小数_python保留小数位的三种实现方法

热门文章

  1. 常用传感器讲解十八--爆震传感器感器(KY-031)
  2. 【Jenkins】插件安装报错“另一个程序正在使用此文件,进程无法访问”完美解决
  3. 去掉数组中是数字的引号
  4. Spring学习:一、Spring概述、Spring入门
  5. python apache benchmark_Python cudnn.benchmark方法代码示例
  6. 如何上好大学计算机基础,如何学好大学计算机基础
  7. codevs 1219 骑士游历 1997年
  8. wro4j:Java Web资源压缩
  9. 关于类的序列化,下列说法哪些是正确的
  10. < Linux >:shell命令初步认识,Linux权限