Android:利用SharedPreferences实现自动登录
程序员文章站
2024-03-01 08:40:10
本文介绍了android:利用sharedpreferences实现自动登录,具体如下:
主要代码:
public class loginactivit...
本文介绍了android:利用sharedpreferences实现自动登录,具体如下:
主要代码:
public class loginactivity extends activity { private edittext username; private edittext userpassword; private checkbox remember; private checkbox autologin; private button login; private sharedpreferences sp; private string usernamevalue,passwordvalue; @override protected void oncreate(bundle savedinstancestate) { // todo auto-generated method stub super.oncreate(savedinstancestate); setcontentview(r.layout.login); // 初始化用户名、密码、记住密码、自动登录、登录按钮 username = (edittext) findviewbyid(r.id.username); userpassword = (edittext) findviewbyid(r.id.userpassword); remember = (checkbox) findviewbyid(r.id.remember); autologin = (checkbox) findviewbyid(r.id.autologin); login = (button) findviewbyid(r.id.login); sp = getsharedpreferences("userinfo", 0); string name=sp.getstring("user_name", ""); string pass =sp.getstring("password", ""); boolean choseremember =sp.getboolean("remember", false); boolean choseautologin =sp.getboolean("autologin", false); // toast.maketext(this, name, toast.length_short).show(); //如果上次选了记住密码,那进入登录页面也自动勾选记住密码,并填上用户名和密码 if(choseremember){ username.settext(name); userpassword.settext(pass); remember.setchecked(true); } //如果上次登录选了自动登录,那进入登录页面也自动勾选自动登录 if(choseautologin){ autologin.setchecked(true); } login.setonclicklistener(new onclicklistener() { // 默认可登录帐号tinyphp,密码123 @override public void onclick(view arg0) { usernamevalue = username.gettext().tostring(); passwordvalue = userpassword.gettext().tostring(); sharedpreferences.editor editor =sp.edit(); // todo auto-generated method stub if (usernamevalue.equals("tinyphp") && passwordvalue.equals("123")) { toast.maketext(loginactivity.this, "登录成功", toast.length_short).show(); //保存用户名和密码 editor.putstring("user_name", usernamevalue); editor.putstring("password", passwordvalue); //是否记住密码 if(remember.ischecked()){ editor.putboolean("remember", true); }else{ editor.putboolean("remember", false); } //是否自动登录 if(autologin.ischecked()){ editor.putboolean("autologin", true); }else{ editor.putboolean("autologin", false); } editor.commit(); //跳转 intent intent =new intent(loginactivity.this,successactivity.class); startactivity(intent); } else { toast.maketext(loginactivity.this, "用户名或密码错误,请重新登录!", toast.length_short).show(); } } }); } }
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="10dp" > <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="用户名:" /> <edittext android:id="@+id/username" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputtype="textpersonname" > </edittext> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margintop="10dp" android:text="密码:" /> <edittext android:id="@+id/userpassword" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputtype="textpassword" > </edittext> <checkbox android:id="@+id/remember" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="记住密码" /> <checkbox android:id="@+id/autologin" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="自动登录" /> <button android:id="@+id/login" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="登录" /> </linearlayout>
源码下载:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。