Android实现用户登录记住密码功能
程序员文章站
2023-12-10 19:11:40
一、打开之前完成的case_login进行修改再编辑
二、将注册按钮删除并在登录按钮前拖出一个checkbox,编辑代码如下:
在layout_top.xml文件中...
一、打开之前完成的case_login进行修改再编辑
二、将注册按钮删除并在登录按钮前拖出一个checkbox,编辑代码如下:
在layout_top.xml文件中进行编辑
<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="@dimen/activity_horizontal_margin" android:background="@drawable/logintop_roundbg"> <edittext android:id="@+id/etname" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:drawable/edit_text" android:drawableleft="@drawable/icon_user" android:drawablepadding="10dp" android:ems="10" android:hint="@string/etname"> <requestfocus /> </edittext> <edittext android:id="@+id/etpassword" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/etname" android:background="@android:drawable/edit_text" android:drawableleft="@drawable/icon_pass" android:drawablepadding="10dp" android:ems="10" android:hint="@string/etpass" android:inputtype="textpassword"> <requestfocus /> </edittext> <linearlayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/etpassword"> <button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/btn_select" android:text="@string/btnlogin" /> <button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginleft="10dp" android:background="@drawable/btn_select" android:text="@string/btnregister" /> </linearlayout> </relativelayout>
效果图如下:
三、对登录密码及记住密码进行编辑
在loginacitvity.java文件进行编写修改,代码如下:
package cn.edu.bzu.case_login; import android.content.context; import android.content.intent; import android.content.sharedpreferences; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.view; import android.widget.checkbox; import android.widget.edittext; import android.widget.toast; public class loginactivity extends appcompatactivity { private edittext etname; private edittext etpassword; private checkbox cbisrememberpass; private sharedpreferences sharedpreferences; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_login); initviews(); sharedpreferences=getsharedpreferences("rememberpassword", context.mode_private); boolean isremember=sharedpreferences.getboolean("rememberpassword",false); if(isremember){ string name=sharedpreferences.getstring("name",""); string password=sharedpreferences.getstring("password",""); etname.settext(name); etpassword.settext(password); cbisrememberpass.setchecked(true); } } private void initviews(){ etname=(edittext)findviewbyid(r.id.etname); etpassword=(edittext)findviewbyid(r.id.etpassword); cbisrememberpass=(checkbox) findviewbyid(r.id.cbisrememberpass); } public void login(view view){ string name=etname.gettext().tostring(); string password=etpassword.gettext().tostring(); if("admin".equals(name)&&"123456".equals(password)){ sharedpreferences.editor editor=sharedpreferences.edit(); if(cbisrememberpass.ischecked()){ editor.putboolean("rememberpassword",true); editor.putstring("name",name); editor.putstring("password",password); } else { editor.clear(); } editor.commit(); intent intent=new intent(this,mainactivity.class); startactivity(intent); finish(); } else { toast.maketext(this,"账户或密码错误",toast.length_long).show(); } } }
四、设计登录后的界面
新建一个mainactivity.java文件,同时生成一个activity_main.xml,对其进行编写代码效果图如下:
<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context="cn.edu.bzu.case_login.mainactivity"> <textview android:text="welcome you" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centervertical="true" android:layout_centerhorizontal="true" android:textsize="40sp" android:id="@+id/textview" /> </relativelayout>
五、结果演示
再次打开软件密码就记住了如图:
输入错误的密码有提示如下图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。