一、页面搭建
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout 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"> <EditText android:id="@+id/et_UserName" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginLeft="16dp" android:layout_marginTop="32dp" android:layout_marginEnd="16dp" android:layout_marginRight="16dp" android:ems="10" android:hint="请输入账号" android:inputType="textPersonName" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <EditText android:id="@+id/et_Password" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginLeft="16dp" android:layout_marginTop="8dp" android:layout_marginEnd="16dp" android:layout_marginRight="16dp" android:ems="10" android:hint="请输入密码" android:inputType="textPassword" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/et_UserName" /> <CheckBox android:id="@+id/checkBox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="记住密码" app:layout_constraintStart_toStartOf="@+id/et_Password" app:layout_constraintTop_toBottomOf="@+id/et_Password" /> <Button android:id="@+id/button" android:onClick="Login" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="24dp" android:layout_marginLeft="24dp" android:layout_marginEnd="24dp" android:layout_marginRight="24dp" android:text="安全登录" app:layout_constraintBottom_toBottomOf="@+id/checkBox" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/checkBox" app:layout_constraintTop_toTopOf="@+id/checkBox" /> </android.support.constraint.ConstraintLayout>
二、代码实现
package com.hiscene.test; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.CheckBox; import android.widget.EditText; import android.widget.Toast; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.OutputStream; import java.io.OutputStreamWriter; public class MainActivity extends AppCompatActivity { EditText et_userName; EditText et_password; CheckBox checkBox; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login_layout); et_userName = findViewById(R.id.et_UserName); et_password = findViewById(R.id.et_Password); checkBox = findViewById(R.id.checkBox); LoadInfo(); } private void LoadInfo() { File file=new File("data/data/com.hiscene.test/usre.txt"); if (!file.exists()) return; try { FileReader reader = new FileReader(file); BufferedReader br=new BufferedReader(reader); String text=br.readLine(); String[] arr=text.split("#"); et_userName.setText(arr[0]); et_password.setText(arr[1]); checkBox.setChecked(true); br.close(); }catch (Exception e) { e.printStackTrace(); } } public void Login(View view) { String userName=et_userName.getText().toString().trim(); String password= et_password.getText().toString().trim(); if (TextUtils.isEmpty(userName)|| TextUtils.isEmpty(password)) { Toast.makeText(MainActivity.this, "用户名或密码不能为空!", Toast.LENGTH_SHORT).show(); return; } if (checkBox.isChecked()) { File file=new File("data/data/com.hiscene.test/usre.txt"); try { OutputStream out=new FileOutputStream(file); OutputStreamWriter osw=new OutputStreamWriter(out,"UTF-8"); BufferedWriter writer=new BufferedWriter(osw); writer.write(userName+"#"+password); writer.flush(); writer.close(); } catch (Exception e) { e.printStackTrace(); } } } }
总结
到此这篇关于Android制作登录页面并且记住账号密码功能的实现代码的文章就介绍到这了,更多相关android 登录页面记住密码内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!
本文向大家介绍Android sharedPreferences实现记住密码功能,包括了Android sharedPreferences实现记住密码功能的使用技巧和注意事项,需要的朋友参考一下 实现记住密码功能,供大家参考,具体内容如下 编写界面交互代码: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍Javascript实现登录记住用户名和密码功能,包括了Javascript实现登录记住用户名和密码功能的使用技巧和注意事项,需要的朋友参考一下 话不多说,请看代码: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!
本文向大家介绍Android中使用SharedPreferences完成记住账号密码的功能,包括了Android中使用SharedPreferences完成记住账号密码的功能的使用技巧和注意事项,需要的朋友参考一下 效果图: 记住密码后,再次登录就会出现账号密码,否则没有。 分析: SharedPreferences可将数据存储到本地的配置文件中 SharedPreferences会记录Check
本文向大家介绍Android SharedPreferences实现记住密码和自动登录界面,包括了Android SharedPreferences实现记住密码和自动登录界面的使用技巧和注意事项,需要的朋友参考一下 SharedPreferences介绍: SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置参数,它是采用xml文件存放数据的,文件存
本文向大家介绍Android SharedPreferences实现记住密码和自动登录,包括了Android SharedPreferences实现记住密码和自动登录的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android SharedPreferences实现记住密码和自动登录,供大家参考,具体内容如下 效果图: 第一次进入进来 勾选记住密码和自动登录成功后,第二次进来 说
不少网站在登录界面会提供“记住密码”这样一个勾选项,方便用户省去输入账号密码,以实现网站的快速登录。 传统的“记住密码”功能主要有两种实现方式: cookie存储登录信息 浏览器自动填充登录信息 cookie存储登录信息 直接利用 cookie 存储用户的用户名和密码是非常不安全的,攻击者可以通过各种漏洞访问到 cookie 从而导致用户密码泄露(常见的安全漏洞)。 常用做法是,当用户登录成功时,