效果图:

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

代码:

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

Android实现自动登录和记住密码的更多相关文章

  1. Android自动登录与记住密码

    // 获取实例对象 sp = this.getSharedPreferences("userInfo", Context.MODE_WORLD_READABLE); rem_pw ...

  2. Android_SharedPreferences实现的自动登录和记住密码

    效果: 先贴一个SharedPreferences工具类: package com.example.didida_corder.ToolClass; import android.content.Co ...

  3. JavaWeb学习记录总结(二十九)--Servlet\Session\Cookie\Filter实现自动登录和记住密码

    一.Servlet package autologin.servlet.login; import java.io.IOException;import java.security.MessageDi ...

  4. PLSQL自动登录,记住用户名密码

    转: PLSQL自动登录,记住用户名密码&日常使用技巧 配置启动时的登录用户名和密码 这是个有争议的功能,因为记住密码会给带来数据安全的问题. 但假如是开发用的库,密码甚至可以和用户名相同,每 ...

  5. js cookie介绍和实例(用于自动登录,记住用户名等)

    js cookie介绍和实例(用于自动登录,记住用户名等) 一.总结 1.cookie在客户端:因为js是最初是用来在客户端和服务器端进行通信使用的,所以客户端比如js可以操作cookie正常 2.c ...

  6. [No00008F]PLSQL自动登录,记住用户名密码&日常使用技巧

    配置启动时的登录用户名和密码 这是个有争议的功能,因为记住密码会给带来数据安全的问题. 但假如是开发用的库,密码甚至可以和用户名相同,每次输入密码实在没什么意义,可以考虑让PLSQL Develope ...

  7. Android实战(一)学习了多个控件实现登录及记住密码功能

    首先确定一下需要的控件: 两个EditText:用于输入账号和密码 一个button:用于登录查看账号和密码是否正确 一个checkbox:用于记住密码和账户 一个Androidstudio:用于编写 ...

  8. Android 开发笔记___SQLite__优化记住密码功能

    package com.example.alimjan.hello_world; /** * Created by alimjan on 7/4/2017. */ import com.example ...

  9. asp.net 使用一般处理程序和ajax post实现登录以及记住密码

    1.登录页面login.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeBehind=&qu ...

随机推荐

  1. 『Java』String类使用方法

    Java中的字符串 java.lang.String类表示字符串类,Java程序中所有字符串文字都可以看作实现该类的实例. 特点: 字符串不可变:字符串的值在创建后不能在发生改变 public cla ...

  2. Markdown常用的格式

    一级标题 Markdown # Markdown 二级标题 Markdown ## Markdown 三级标题 Markdown ### Markdown 四级标题 Markdown #### Mar ...

  3. Android消息机制1-Handler(Java层)

    一.概述 在整个Android的源码世界里,有两大利剑,其一是Binder IPC机制,,另一个便是消息机制(由Handler/Looper/MessageQueue等构成的). Android有大量 ...

  4. JVM学习笔记之class文件结构【七】

    一.概念 1.1 无符号数: 以 u1.u2.u3.u4.u8 代表 1 个字节,2 个字节.4 个字节.8 个字节的无符号数.无符号数可以描述数字,索引引用.数量值和按照 UTF-8 编码构成的字符 ...

  5. 你真的熟悉ASP.NET MVC的整个生命周期吗?

    一.介绍 我们做开发的,尤其是做微软技术栈的,有一个方向是跳不过去的,那就是MVC开发.我相信大家,做ASP.NET MVC 开发有的有很长时间,当然,也有刚进入这个行业的.无论如何,如果有人问你,你 ...

  6. 题解 park/chase

    传送门 这题考试的时候觉得时间复杂度假了,\(n \geqslant 1000\)的部分直接瞎写了个特殊性质上去,结果假的时间复杂度能有60pts-- 比较大的数组无论如何不要直接全部memset!如 ...

  7. Centos7上yum安装redis

    下载tar包 wget http://download.redis.io/releases/redis-6.0.5.tar.gz 解压tar包 tar -zxvf redis-6.0.5.tar.gz ...

  8. 上传jar包到nexus

    注释掉: org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.meeno.boot.oa.OaAutoConfigur ...

  9. WindowsService开发简单入门

    参考网址: https://www.cnblogs.com/wenlong512/p/7355971.html 一.简介 程序创建在 Windows 会话中,可长时间运行的可执行应用程序.这些服务可以 ...

  10. vue2.0中文文档

    地址1: 链接: https://pan.baidu.com/s/1uEzM990A-W-fl23ref2zww 提取码: rkpt 复制这段内容后打开百度网盘手机App,操作更方便哦 地址2:htt ...