欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android实现记住密码小功能

程序员文章站 2022-06-21 14:29:55
本文实例为大家分享了android实现记住密码小功能的具体代码,供大家参考,具体内容如下以下有三个点 第一点是记住密码, 第二点是点击隐藏点击显示, 第三点是登录存储。xml布局

本文实例为大家分享了android实现记住密码小功能的具体代码,供大家参考,具体内容如下

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();
        }

    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。