Android实现记住密码小功能
程序员文章站
2022-06-21 14:29:55
本文实例为大家分享了android实现记住密码小功能的具体代码,供大家参考,具体内容如下以下有三个点 第一点是记住密码, 第二点是点击隐藏点击显示, 第三点是登录存储。xml布局
本文实例为大家分享了android实现记住密码小功能的具体代码,供大家参考,具体内容如下
以下有三个点 第一点是记住密码, 第二点是点击隐藏点击显示, 第三点是登录存储。
xml布局
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".v.mainactivity"> <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:text="登录" android:textsize="20sp" android:textcolor="#ffeb3b" android:gravity="center" android:padding="10dp" android:background="#8bc34a" > </textview> <linearlayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_margintop="50dp" > <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="邮箱:" android:textcolor="#03a9f4" android:textsize="15sp" android:textstyle="italic" android:layout_marginleft="30dp" android:padding="10dp" > </textview> <edittext android:id="@+id/youxiang" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入邮箱" android:paddingleft="10dp" android:textcolorhint="#ff5722" android:textstyle="italic" android:layout_marginright="40dp" > </edittext> </linearlayout> <linearlayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_margintop="10dp" > <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="密码:" android:textcolor="#03a9f4" android:textsize="15sp" android:textstyle="italic" android:layout_marginleft="30dp" android:padding="10dp" > </textview> <edittext android:id="@+id/mima" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:hint="请输入密码" android:paddingleft="10dp" android:textcolorhint="#ff5722" android:textstyle="italic" > </edittext> <imageview android:id="@+id/can" android:layout_width="20dp" android:layout_height="match_parent" android:src="@mipmap/login_icon_hide_password_n" android:layout_marginright="20dp" > </imageview> </linearlayout> <checkbox android:id="@+id/ji" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="记住密码" android:textcolor="#ff5722" android:layout_marginleft="40dp" android:layout_margintop="15dp" > </checkbox> <button android:id="@+id/deng" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="登录" android:textcolor="#ff5722" android:background="#03a9f4" android:textstyle="bold" android:textsize="15sp" android:layout_margin="30dp" > </button> </linearlayout>
java代码
package com.wd.health.v; import android.content.intent; import android.content.sharedpreferences; import android.os.bundle; import android.text.method.hidereturnstransformationmethod; import android.text.method.passwordtransformationmethod; import android.view.view; import android.widget.button; import android.widget.checkbox; import android.widget.edittext; import android.widget.imageview; import android.widget.toast; import com.wd.health.r; import com.wd.health.base.baseactivity; import com.wd.health.bean.loginbean; import com.wd.health.contract.ilogincontract; import com.wd.health.net.rsacoder; import com.wd.health.p.loginpresenter; import butterknife.bindview; import butterknife.butterknife; public class mainactivity extends baseactivity<loginpresenter> implements ilogincontract.iloginview { @bindview(r.id.can) imageview can; @bindview(r.id.ji) checkbox ji; @bindview(r.id.deng) button deng; @bindview(r.id.youxiang) edittext youxiang; @bindview(r.id.mima) edittext mima; boolean sb=true; private sharedpreferences user; private sharedpreferences.editor edit; @override protected int initview() { return r.layout.activity_main; } @override protected loginpresenter creatpresenter() { return new loginpresenter(); } @override protected void loaddata() { butterknife.bind(this); //默认是隐藏 mima.settransformationmethod(passwordtransformationmethod.getinstance()); //点击小眼睛 can.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { if (sb){ can.setimageresource(r.mipmap.login_icon_show_password); mima.settransformationmethod(hidereturnstransformationmethod.getinstance()); //显示 sb=false; }else { can.setimageresource(r.mipmap.login_icon_hide_password_n); mima.settransformationmethod(passwordtransformationmethod.getinstance()); //隐藏 sb=true; } } }); //记住密码 user = getsharedpreferences("user", mode_private); boolean isremenber = user.getboolean("remember_password", false); if(isremenber){ youxiang.settext(user.getstring("phone","")); mima.settext(user.getstring("password","")); ji.setchecked(true); } //点击登录 deng.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { string s1 = youxiang.gettext().tostring(); //获取输入框邮箱 string s2 = mima.gettext().tostring(); //获取输入框密码 string a=""; //存放加密的密码 try { a = rsacoder.encryptbypublickey(s2); //加密后的密码 } catch (exception e) { e.printstacktrace(); } if (s1.equals("")){ //如果邮箱为空则吐司 toast.maketext(mainactivity.this, "请输入邮箱", toast.length_short).show(); }else if (s2.equals("")){ //如果密码为空则吐司 toast.maketext(mainactivity.this, "请输入密码", toast.length_short).show(); }else { //这是mvp调用的p层 mpresenter.showdengpresenter(s1,a); //s1是邮箱 a是加密的密码 //记住密码 edit = user.edit(); if(ji.ischecked()){ edit.putboolean("remember_password",true); edit.putstring("phone",s1); //没有加密的邮箱 edit.putstring("password",s2); //没有加密的密码 }else{ edit.clear(); } edit.apply(); } } }); } @override public void showdengview(loginbean loginbean) { toast.maketext(this, loginbean.getmessage(), toast.length_short).show(); if (loginbean.getstatus().equals("0000")){ user.edit().putstring("userid",string.valueof(loginbean.getresult().getuserid())) .putstring("sessionid",loginbean.getresult().getsessionid()) .putstring("nickname",loginbean.getresult().getnickname()) .putstring("username",loginbean.getresult().getusername()) .putstring("jiguangpwd",loginbean.getresult().getjiguangpwd()) .putstring("headpic",loginbean.getresult().getheadpic()) .putstring("sex",string.valueof(loginbean.getresult().getsex())) .putstring("age",string.valueof(loginbean.getresult().getage())) .putstring("height",string.valueof(loginbean.getresult().getheight())) .putstring("weight",string.valueof(loginbean.getresult().getweight())) .putstring("email",string.valueof(loginbean.getresult().getemail())) .putstring("whetherbingwechat",string.valueof(loginbean.getresult().getwhetherbingwechat())) .putstring("invitationcode",string.valueof(loginbean.getresult().getinvitationcode())) .putstring("faceflag",string.valueof(loginbean.getresult().getfaceflag())) .commit(); //成功后跳转到首页 intent intent = new intent(mainactivity.this,homeactivity.class); startactivity(intent); finish(); } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: RTX 30 Super显卡大曝光:规格全面升级、不加价
下一篇: 原子操作