• Android实现自动登录和记住密码


    效果图:

    在勾选自动登录后下次打开软件会直接跳过登录界面

    代码:

     protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_go);//即activity_login.xml
            findViews();
            if(sp.getBoolean("ISCHECK", false))
            {
                //设置默认是记录密码状态
                rem_pw.setChecked(true);
                etusername.setText(sp.getString("USER_NAME", ""));
    
                //判断自动登陆多选框状态
                if(sp.getBoolean("AUTO_ISCHECK", false))
                {
                    //设置默认是自动登录状态
                    auto_login.setChecked(true);
                    //跳转界面
                    Intent intent = new Intent(GoActivity.this,IndexActivity.class);
                    GoActivity.this.startActivity(intent);
    
                }
            }
            login.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String username = etusername.getText().toString();
                    System.out.println(username);
                    Log.i("TAG",username);
                    UserService uService=new UserService(GoActivity.this);
                    boolean flag=uService.login(username);
    
                    if(flag){
                        Log.i("TAG","登录成功");
                        Toast.makeText(GoActivity.this, "登录成功", Toast.LENGTH_LONG).show();
                        if(rem_pw.isChecked())
                        {
                            //记住用户名、密码、
                            SharedPreferences.Editor editor = sp.edit();
                            editor.putString("USER_NAME", username);
                            editor.commit();
                        }
                        Intent intent = new Intent(GoActivity.this,ListActivity.class);//页面跳转
                        startActivity(intent);
                    }else{
                        Log.i("TAG","登录失败");
                        Toast.makeText(GoActivity.this, "登录失败", Toast.LENGTH_LONG).show();
                    }
    
                }
            });
            register.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
    
                    Intent intent=new Intent(GoActivity.this,RegisterActivity.class);
                    startActivity(intent);
    
                }
            });
            rem_pw.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
                    if (rem_pw.isChecked()) {
    
                        System.out.println("记住密码已选中");
                        sp.edit().putBoolean("ISCHECK", true).commit();
    
                    }else {
    
                        System.out.println("记住密码没有选中");
                        sp.edit().putBoolean("ISCHECK", false).commit();
    
                    }
    
                }
            });
    
            //监听自动登录多选框事件
            auto_login.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
                    if (auto_login.isChecked()) {
                        System.out.println("自动登录已选中");
                        sp.edit().putBoolean("AUTO_ISCHECK", true).commit();
    
                    } else {
                        System.out.println("自动登录没有选中");
                        sp.edit().putBoolean("AUTO_ISCHECK", false).commit();
                    }
                }
            });
        }
  • 相关阅读:
    游戏中的有限状态机 (StateMachine)
    关于在Cocos下面配置开发环境、编译移植到android上面的奇葩问题小结
    As3.0中的Dictionary使用测试
    Nginx(一)--nginx的初步认识及配置
    布隆过滤器的demo
    redis(7)--redis应用实战
    redis(6)--redis集群之分片机制(redis-cluster)
    redis(5)--redis集群之哨兵机制
    redis(4)--redis集群之主从复制
    redis(3)--redis原理分析
  • 原文地址:https://www.cnblogs.com/1305536110-dym/p/14903760.html
Copyright © 2020-2023  润新知