记住密码(Android登录界面)

2024-06-03 00:08

本文主要是介绍记住密码(Android登录界面),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在编写安卓登录界面时,我们如何记住密码,方便下一次登录呢?

首先,先创建一个安卓项目(我的版本是4.4.2的),名字为"记住密码"

然后在res文件夹下找到layout文件夹,找到activity_main.xml或fragment_main.xml,在里面输入或拖拽按钮

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context="com.csdn.www.MainActivity" ><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="用户名" /><EditTextandroid:id="@+id/username"android:layout_width="fill_parent"android:layout_height="wrap_content" /><TextViewandroid:id="@+id/textView2"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="密码" /><EditTextandroid:id="@+id/userpass"android:layout_width="fill_parent"android:layout_height="wrap_content"android:inputType="textPassword"android:password="true" /><RelativeLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content" ><Buttonandroid:id="@+id/login"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_alignParentTop="true"android:layout_marginRight="73dp"android:text="登陆" /><CheckBoxandroid:id="@+id/checkBox1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:checked="true"android:text="记住密码" /></RelativeLayout></LinearLayout>

视图效果:

在src下的java文件里创建一个SaveFile.java类,旨在记住密码之后如何保存用户名、密码和获取保存数据

package com.csdn.www;import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;import android.content.Context;public class SaveFile {public static boolean save(Context context,String name,String pass){try {//File f=new File("/data/data/com/csdn/www/info.txt");File f=new File(context.getFilesDir(),"info.txt");//context.getFilesDir();//返回一个目录  /data/data/包名/filesFileOutputStream fos=new FileOutputStream(f);fos.write((name+"=="+pass).getBytes());fos.close();return true;} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();return false;}}/*** 获取保存的数据* @param context* @return*/public static Map<String,String> getSaveFiles(Context context){File f=new File(context.getFilesDir(),"info.txt");try {FileInputStream fis=new FileInputStream(f);BufferedReader br=new BufferedReader(new InputStreamReader(fis));String str=br.readLine();String[] infos=str.split("==");Map<String,String> map=new HashMap<String,String>();map.put("username", infos[0]);map.put("userpass", infos[1]);return map;} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();return null;}}
}

最后在src下的java文件里MainActivity.java

package com.csdn.www;import java.util.Map;import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;public class MainActivity extends ActionBarActivity {private static final String TAG = "MainActivity";private EditText username, userpass;private CheckBox checkBox1;private Button login;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.fragment_main);username = (EditText) this.findViewById(R.id.username);userpass = (EditText) this.findViewById(R.id.userpass);checkBox1 = (CheckBox) this.findViewById(R.id.checkBox1);Map<String, String> map=SaveFile.getSaveFiles(this);if(map!=null){username.setText(map.get("username"));userpass.setText(map.get("userpass"));}login = (Button) findViewById(R.id.login);login.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {String un = username.getText().toString().trim();String up = userpass.getText().toString().trim();if (TextUtils.isEmpty(un) || TextUtils.isEmpty(up)) {Toast.makeText(MainActivity.this, "用户名或密码不能为空",Toast.LENGTH_SHORT).show();} else {// 登陆//是否保存密码if (checkBox1.isChecked()) {// 保存用户名和密码Log.i(TAG, "需要保存用户名密码");boolean flag=SaveFile.save(MainActivity.this,un, up);if(flag){Toast.makeText(MainActivity.this, "信息保存成功", 0).show();}}// 登陆发送消息到服务器,服务器验证是否正确if ("zhangsan".equals(un) && "123".equals(up)) {Toast.makeText(MainActivity.this, "登陆成功",Toast.LENGTH_SHORT).show();} else {Toast.makeText(MainActivity.this, "用户名或密码错误",Toast.LENGTH_SHORT).show();}}}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}


会显示“信息保存成功”,“用户名或密码错误”

在Eclipse中的”File Explorer“里,目录”data/data/com/csdn/www/info.txt“,用户名和密码会保存在info.txt里


这篇关于记住密码(Android登录界面)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1025478

相关文章

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE

Windows 上如果忘记了 MySQL 密码 重置密码的两种方法

《Windows上如果忘记了MySQL密码重置密码的两种方法》:本文主要介绍Windows上如果忘记了MySQL密码重置密码的两种方法,本文通过两种方法结合实例代码给大家介绍的非常详细,感... 目录方法 1:以跳过权限验证模式启动 mysql 并重置密码方法 2:使用 my.ini 文件的临时配置在 Wi

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

Android实现打开本地pdf文件的两种方式

《Android实现打开本地pdf文件的两种方式》在现代应用中,PDF格式因其跨平台、稳定性好、展示内容一致等特点,在Android平台上,如何高效地打开本地PDF文件,不仅关系到用户体验,也直接影响... 目录一、项目概述二、相关知识2.1 PDF文件基本概述2.2 android 文件访问与存储权限2.

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle