用户登录流程中,记住密码和自动登录逻辑。
来源:互联网 发布:手机推广软件 编辑:程序博客网 时间:2024/04/30 10:14
就是普通登录流程中记住密码和自动登录的功能,
因为感觉checkbox 控件太小点击有点困难。所以在外层的父控件上添加了点击监听。
直接上代码
LoginActivity:
/** * 登录页面 * * @author hjl * created at 2016/12/15 13:51 */public class LoginActivity extends AppCompatActivity implements View.OnClickListener { private SharedPreferences sp; private SharedPreferences.Editor editor; private EditText edittext_user; private EditText edittext_psd; private Button login; private CheckBox check_remember; private CheckBox check_automatic; private LinearLayout automatic_login; private LinearLayout remember_psd; private String userNameValue, passwordValue; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); initView(); } private void initView() { sp = this.getSharedPreferences("person", MODE_PRIVATE);// 初始化 SharedPreferences 储存 editor = sp.edit();//将SharedPreferences 储存 可编辑化 edittext_user = ((EditText) findViewById(R.id.EditText_user));//用户名输入框 edittext_psd = ((EditText) findViewById(R.id.EditText_psd));//密码输入框 login = ((Button) findViewById(R.id.button_login));//登录 check_remember = ((CheckBox) findViewById(R.id.checkbox_one));//记住密码 check_automatic = ((CheckBox) findViewById(R.id.checkbox_two));//重新登录 automatic_login = ((LinearLayout) findViewById(R.id.layout_automatic_login)); remember_psd = ((LinearLayout) findViewById(R.id.layout_remember_psd)); //判断记住密码多选框的状态 if (sp.getBoolean("ISCHECK", false)) { //设置默认是记录密码状态 check_remember.setChecked(true); edittext_user.setText(sp.getString("USER_NAME", "")); edittext_psd.setText(sp.getString("PASSWORD", "")); //判断自动登陆多选框状态 if (sp.getBoolean("AUTO_ISCHECK", false)) { //设置默认是自动登录状态 check_automatic.setChecked(true); //跳转界面 Intent intent = new Intent(LoginActivity.this, MainActivity.class); LoginActivity.this.startActivity(intent); finish(); } } //添加点击监听的接口回调 login.setOnClickListener(this); automatic_login.setOnClickListener(this); remember_psd.setOnClickListener(this); } @Override public void onClick(View v) { userNameValue = edittext_user.getText().toString(); passwordValue = edittext_psd.getText().toString(); //请求借口进行登录 这里直接默认 账号hjl 密码123: switch (v.getId()) { case R.id.button_login: if (userNameValue.endsWith("hjl") && passwordValue.endsWith("123")) { ToastUtils.toastShort("login"); if (check_remember.isChecked()) { //记住用户名、密码、 editor.putString("USER_NAME", userNameValue); editor.putString("PASSWORD", passwordValue); editor.commit(); } //跳转界面 Intent intent = new Intent(LoginActivity.this, MainActivity.class); startActivity(intent); finish(); } else { ToastUtils.toastShort("用户名和密码错误"); } break; case R.id.layout_automatic_login: if (check_automatic.isChecked()) { check_automatic.setChecked(false); ToastUtils.toastShort("自动登录未选中"); sp.edit().putBoolean("AUTO_ISCHECK", false).commit(); } else { check_automatic.setChecked(true); ToastUtils.toastShort("自动登录选中"); sp.edit().putBoolean("AUTO_ISCHECK", true).commit(); } break; case R.id.layout_remember_psd: if (check_remember.isChecked()) { check_remember.setChecked(false); ToastUtils.toastShort("记住密码未选中"); sp.edit().putBoolean("ISCHECK", false).commit(); } else { check_remember.setChecked(true); ToastUtils.toastShort("记住密码选中"); sp.edit().putBoolean("ISCHECK", true).commit(); } break; } }}XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_login" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@mipmap/bg_login" android:gravity="center_horizontal" android:orientation="vertical" tools:context="com.kenfeng.kfhjlr.kfzy.Activity.Activity.LoginActivity"> <include layout="@layout/topbar_item_copy" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:orientation="vertical"> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="60dp" android:gravity="center" android:orientation="horizontal"> <ImageView android:layout_width="25dp" android:layout_height="25dp" android:layout_marginRight="20dp" android:src="@mipmap/login_user" /> <EditText android:id="@+id/EditText_user" style="@style/EditText_style" android:hint="请输入账号" android:paddingLeft="30dp" /> </LinearLayout> <View android:layout_width="250dp" android:layout_height="1dp" android:background="@color/white" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:gravity="center" android:orientation="horizontal"> <ImageView android:layout_width="25dp" android:layout_height="25dp" android:layout_marginRight="20dp" android:src="@mipmap/login_psd" /> <EditText android:id="@+id/EditText_psd" style="@style/EditText_style" android:hint="请输入密码" android:paddingLeft="30dp" android:password="true" /> </LinearLayout> <View android:layout_width="250dp" android:layout_height="1dp" android:background="@color/white" /> <Button android:id="@+id/button_login" android:layout_width="260dp" android:layout_height="43dp" android:layout_marginTop="50dp" android:background="@drawable/bg_button_selector" android:text="登录" android:textColor="@drawable/bg_button_textcolor_selector" android:textSize="18sp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="40dp" android:layout_marginTop="30dp" android:gravity="center_vertical" android:orientation="horizontal"> <LinearLayout android:id="@+id/layout_remember_psd" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:gravity="center" android:orientation="horizontal"> <CheckBox android:id="@+id/checkbox_one" android:layout_width="20dp" android:layout_height="20dp" android:button="@drawable/checkbox" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:text="记住密码" android:textColor="@color/white" android:textSize="18dp" /> </LinearLayout> <View android:layout_width="1dp" android:layout_height="20dp" android:background="@color/white" /> <LinearLayout android:id="@+id/layout_automatic_login" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:gravity="center" android:orientation="horizontal"> <CheckBox android:id="@+id/checkbox_two" android:layout_width="20dp" android:layout_height="20dp" android:button="@drawable/checkbox" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:text="自动登录" android:textColor="@color/white" android:textSize="18dp" /> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="180dp" android:gravity="center_horizontal" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="版本号:v2.9" android:textColor="@color/white" android:textSize="18sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="版权说明:*****" android:textColor="@color/white" android:textSize="16sp" /> </LinearLayout></LinearLayout>
参考了:http://blog.csdn.net/liuyiming_/article/details/7704923 新手勿喷。
参考了:http://blog.csdn.net/liuyiming_/article/details/7704923 新手勿喷。
参考了:http://blog.csdn.net/liuyiming_/article/details/7704923 新手勿喷。
1 0
- 用户登录流程中,记住密码和自动登录逻辑。
- 实现用户记住密码和自动登录
- 记住密码和自动登录
- 自动登录和记住密码
- 记住密码和自动登录
- 记住密码和自动登录
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- db_name和db_unique_name的区别
- 小记2
- jQuery实现Ajax方式提交表单
- ERP实施岗位技能
- Atitit 动态调用webservice与客户端代理方式调用
- 用户登录流程中,记住密码和自动登录逻辑。
- ASP.net--登录后返回上一页
- 虚拟机Linux的IP怎么看
- 制作简单的日历
- 文件I/O流读写
- Android Studio如何快速生成get,set,tostring,构造函数
- 《基于Apache Kylin构建大数据分析平台》
- Web开发---过滤器(Filter)
- 2016年12月15日开通的博客,技术生涯就从此刻开始!