zoukankan      html  css  js  c++  java
  • 对于登录窗口记住密码的相关应用升级

    这次主要是做的怎样实现登录窗口的,自主密码操作。当点击记住密码之后,下次登录此账号的时候,当输入账号中失去节点的时候,就会触发相关的事件。

    当登录的时候取消了记住密码的点击事件下次登录的时候就不会自动添加密码了,

    刚开始的思路是想网上学习的资料一样,通过MAP并将其对应的密码账号添加到新的文件夹中。

    每次在登录账号后,会在此自动添加相关的密码。实现登录。

    这个的更新是省去了关于文件的先关的操作。

    知识在保存用户登录是用到的数据库增加了一个项目。实现判定当前账户时候确定了记住密码操作。

    具体的数据库代码,与登录界面的代码如下:

    MainActivity.java

    package com.example.thetrueappwen;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    
    import android.content.ContentValues;
    import android.content.Intent;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.os.Bundle;
    import android.service.autofill.SaveInfo;
    import android.view.View;
    import android.widget.Button;
    import android.widget.CheckBox;
    import android.widget.EditText;
    import android.widget.Toast;
    
    import java.util.Map;
    
    public class MainActivity extends AppCompatActivity {
        private DBOpenMessageUser messageuser;
        private EditText username,password;
        private Button login,register;
        private String passwordstr="";
        private String usernamestr="";
        private String passwordstr2;
        private CheckBox checkbox;
        private String setpassword,setusercheck;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //创建数据库对象
            messageuser=new DBOpenMessageUser(MainActivity.this,"db_wen",null,1);
            //putusername();
    
            username=(EditText)findViewById(R.id.username1);
            password=(EditText)findViewById(R.id.password1);
            login=(Button)findViewById(R.id.button_login);
            register=(Button)findViewById(R.id.button_register);
            checkbox=(CheckBox)findViewById(R.id.checkBox);
            //判断是否设置过保存密码
            username.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    
                @Override
                public void onFocusChange(View v, boolean hasFocus) {
                    if(hasFocus){//获得焦点
                    }
                    else{//失去焦点
                        usernamestr=username.getText().toString();
                        if(!usernamestr.equals(""))
                        {
                            Cursor cursor=messageuser.getAllCostData(usernamestr);
                            if(cursor!=null){
                                while(cursor.moveToNext()){
                                    setpassword=cursor.getString(cursor.getColumnIndex("password"));
                                    setusercheck=cursor.getString(cursor.getColumnIndex("usercheck"));
                                    if(setusercheck.equals("1"))
                                    {
                                        password.setText(setpassword);
                                        checkbox.setChecked(true);
                                    }
                                }
                            }
                        }
                    }
                }
            });
    
            //点击登录后的判断
            login.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    usernamestr=username.getText().toString();
                    passwordstr=password.getText().toString();
                    Cursor cursor1=messageuser.getReadableDatabase().query("db_wen",null,"username=?",new String[]{usernamestr},null,null,null);
                    //显示表名、限制列、条件、值、其他的默认
                    if(usernamestr.equals("")||passwordstr.equals(""))
                    {
                        Toast.makeText(MainActivity.this,"请填写齐全",Toast.LENGTH_SHORT).show();
                    }
                    if(cursor1.moveToFirst())
                    {
                        do {
                             passwordstr2=cursor1.getString(cursor1.getColumnIndex("password"));
                        }while(cursor1.moveToNext());
                    }
    
                    cursor1.close();
                    if(password.getText().toString().equals(passwordstr2)&&!usernamestr.equals("")&&!passwordstr.equals(""))
                    {
                        if(checkbox.isChecked())
                        {
                            String usercheck="1";
                            messageuser.updatauser(usernamestr,usercheck);
                        }
                        else
                        {
                            String usercheck="0";
                            messageuser.updatauser(usernamestr,usercheck);
                        }
                        Toast.makeText(MainActivity.this,"恭喜登录成功",Toast.LENGTH_SHORT).show();
                        Intent intent=new Intent(MainActivity.this,AllWord.class);
                        //传递参数在intent中
                        intent.putExtra("username",usernamestr);
                        startActivity(intent);
                        finish();
                    }
                    else
                    {
                        Toast.makeText(MainActivity.this,"账号不存在,不能进行登录",Toast.LENGTH_SHORT).show();
                        username.setText("");
                        password.setText("");
                        Toast.makeText(MainActivity.this,"请确认信息在登录",Toast.LENGTH_SHORT).show();
                    }
                }
            });
            //注册页面的相关操作
            register.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
    
                    Intent intent=new Intent(MainActivity.this,Register.class);
                    intent.putExtra("username",usernamestr);
                    startActivity(intent);
                    finish();
                }
            });
        }
    
        @Override
        protected void onDestroy()
        {
            super.onDestroy();
            if(messageuser!=null)
                messageuser.close();
        }
         /*
        private void putusername()
        {
            //
            //传递数值
            WeixinFragment11 myFragment4 = new WeixinFragment11();
            Bundle bundle4 = new Bundle();
            bundle4.putString("username",usernamestr);
            myFragment4.setArguments(bundle4);
        }*/
    
    }

    数据库添加一个变量选项

    final String message="create table db_wen (_id integer primary key autoincrement,username varchar,password varchar,usercheck varchar)";这样来进行判断
  • 相关阅读:
    使用 Gogs 搭建自己的 Git 服务器
    linux指定某非root用户执行开机启动项的方法(gogs git)
    阿里云ubuntu14.4上部署gogs
    如何启动、关闭和设置ubuntu防火墙
    [Python] Python学习笔记之常用模块总结[持续更新...]
    [Data Structure] Bit-map空间压缩和快速排序去重
    [Machine Learning & Algorithm] 决策树与迭代决策树(GBDT)
    [Data Structure] 数据结构中各种树
    [Data Structure & Algorithm] Hash那点事儿
    [Data Structure & Algorithm] 七大查找算法
  • 原文地址:https://www.cnblogs.com/dazhi151/p/12284446.html
Copyright © 2011-2022 走看看