Android实战教程第七篇之如何在内存中存储用户名和密码

本文实例为大家分享了Android内存中存储用户名和密码的方法,供大家参考,具体内容如下

首先是配置文件:

<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:paddingBottom="@dimen/activity_vertical_margin"
  android:paddingLeft="@dimen/activity_horizontal_margin"
  android:paddingRight="@dimen/activity_horizontal_margin"
  android:paddingTop="@dimen/activity_vertical_margin"
  tools:context=".MainActivity"
  android:orientation="vertical"
   > 

  <EditText
    android:id="@+id/et_name"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="请输入用户名"
    />
  <EditText
    android:id="@+id/et_pass"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textPassword"
    android:hint="请输入密码"
    />
  <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    >
    <CheckBox
      android:id="@+id/cb"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="记住用户名和密码"
      android:layout_centerVertical="true"
      />
    <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="right"
      android:text="登录"
      android:layout_alignParentRight="true"
      android:onClick="login"
      />
  </RelativeLayout>
</LinearLayout>

活动中的代码如下:

package com.itydl.rwinrom; 

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.InputStreamReader; 

import org.apache.http.entity.InputStreamEntity; 

import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast; 

public class MainActivity extends Activity { 

  private EditText et_name;
  private EditText et_pass; 

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main); 

    et_name = (EditText) findViewById(R.id.et_name);
    et_pass = (EditText) findViewById(R.id.et_pass); 

    readAccount();//在onCreate中读取原因是,活动一创建就读取用户名和密码进行回显。 

  } 

  public void readAccount(){
    File file = new File("data/data/com.itydl.rwinrom/info.txt");
    if(file.exists()){
      try {
        // FileInputStream fis = new FileInputStream(file);
        // //把字节流转换成字符流
        // BufferedReader br = new BufferedReader(new
        // InputStreamReader(fis)); 

        BufferedReader br = new BufferedReader(new FileReader(file));
        //读取txt文件里的用户名和密码
        String text = br.readLine();
        String[] s = text.split("##");//正则表达 

        et_name.setText(s[0]);//ctrl+1提取全局变量
        et_pass.setText(s[1]);
      } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
  } 

  public void login(View v){ 

    String name = et_name.getText().toString();
    String pass = et_pass.getText().toString(); 

    CheckBox cb = (CheckBox) findViewById(R.id.cb);
    //判断选框是否被勾选
    if(cb.isChecked()){
      //data/data/com.itheima.rwinrom:这就是内部存储空间的路径
      File file = new File("data/data/com.itydl.rwinrom/info.txt");//这个路径是安卓特有的文件夹
      FileOutputStream fos;
      try {
        fos = new FileOutputStream(file);
        //勾选了复选框,会把用户名密码存入内部存储位置
        fos.write((name + "##" + pass).getBytes());
        fos.close();
      } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    } 

    //创建并显示吐司对话框
    Toast.makeText(this, "登录成功", 0).show();
  } 

}

最后是截图:

当退出程序,再进入时,会发现用户名和密码都回显。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Android手机卫士之设置密码对话框

    本文实现初次设置密码验证过程,首先实现如下效果 布局如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="

  • Android实现记住用户名和密码功能

    Android 实现记住用户名和密码的功能是通过SharedPreference 存储来实现的.创建一个复选按钮,通过按钮的否选取来进行事件处理.若按钮选中存储账号和密码的信息.若按钮没有选中,则清空账号和密码的信息. 结果演示: 源代码下载地址: https://github.com/GXS1225/Android-----.git 分析 (1)判断是否输入了账号和密码 if(name.trim().equals("")){ Toast.makeText(this, "请您

  • Android模仿用户设置密码实例

    首先有2个对话框,没有设置过密码,需要设置dialog_set_password.xml,用户设置过密码,不需要设置,直接输入密码dialog_input_password.xml, 设置对话框dialog_set_password.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/r

  • Android实战教程第七篇之如何在内存中存储用户名和密码

    本文实例为大家分享了Android内存中存储用户名和密码的方法,供大家参考,具体内容如下 首先是配置文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layo

  • Android实战教程第八篇之短信备份

    各种手机助手里面都包含了短信备份这一项.短信的本分主要包含四项:内容body.事件date.方式type.号码address. 短信备份~一.使用一种很笨的方式来保存短信到xml文件中,而且保存在外部存储.后续会有:短信备份~二(xml序列化器):短信备份~三(内容提供者获取短信xml备份):短信备份~四(json方式备份数据库短信).备份的方式越来越高效,比较不同存储方式. 很显然,初次介绍短信备份,以一种简单笨拙的方式,且不涉及内容提供者,虚拟10条短信. 短信的保存,要以对象的形式保存.因

  • Android实战教程第六篇之一键锁屏应用问题解决

    上一篇,初步开发了这个应用,功能都有了(见http://www.jb51.net/article/96992.htm 点击打开链接). 但是遗留了两个问题:1.还是无法卸载:2.必须手动去点击应用程序进入程序,再点击按钮,这显得很麻烦. 这一篇就解决上面两个问题,做出最好的效果. 首先解决无法卸载问题: 在清单文件中,再配置一键卸载的主活动(两个主活动无所谓,只不过在桌面上显示两个图标而已,其实仍然是一个应用) <activity android:name="com.itydl.locks

  • Android实战教程第十篇仿腾讯手机助手小火箭发射效果

    之前对系统自带的土司的源码做了简要分析,见博客:点击打开链接 这一篇给一个小案例,自定义土司,模拟腾讯卫士的小火箭发射.如果想要迅速看懂代码,建议先去看一下上篇介绍点击打开链接 首先,定义一个服务,在这个服务里面,完成土司的创建(小火箭布局创建),烟的效果属于动画播放,而且要依托一个activity.(这个activity要定义为透明状态) 定义烟的activity的布局文件 <?xml version="1.0" encoding="utf-8"?>

  • Android实战教程第四篇之简单实现短信发送器

    本文实例为大家分享了Android发短信功能的实现方法,供大家参考,具体内容如下 首先配置一个布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_

  • Android实战教程第五篇之一键锁屏应用

    Device Administration 对于这个应用,市场上很多,但是看一下评论就知道效果有多差了,因为99%一键锁屏应用没办法卸载.今天就开发一个小应用,实现轻松点击一键锁屏,同时支持卸载... 通查看谷歌原文档,有设备管理器的API,从这里可以抽取一些代码,开发出一个小应用,即即将介绍的<一键锁屏>. 根据文档翻译,获取设备管理器的大致步骤如下: 1.创建类DeviceAdminReceiver的子类 如:com.itydl.lockscreen.DeviceAdminSample 2

  • Android实战教程第三篇之简单实现拨打电话功能

    本文实例为大家分享了Android打电话功能的实现代码,需要一个文本输入框输入号码,需要一个按钮打电话. 本质:点击按钮,调用系统打电话功能. xml布局文件代码:: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="m

  • Android实战教程第一篇之最简单的计算器

    从今天开始,本专栏持续更新Android简易实战类博客文章.和以往专栏不同,此专栏只有实例.每个实例尽量按照知识点对应相应一章节的内容去写,循序渐进.有些实例可能会与另一个专栏有重复的文章. 开始本专栏的第一个简易案例: 首先设置两个布局文件,一个布局文件进行输入数据,获取加法运算:另一个布局文件进行显示最终结果.Activity1启动Activity2,并传递计算结果值给Activity2. main.xml: <?xml version="1.0" encoding=&quo

  • Android实战教程第九篇之短信高效备份

    Android短信高效备份这篇文章,承接上一篇.使用高效的方式备份短信--xml序列化器. 存储短信,要以对象的方式存储.首先创建javabean: package com.itydl.createxml.domain; public class Message { private String body; private String date; private String address; private String type; public String getBody() { ret

  • Android实战教程第四十三篇之上拉加载与下拉刷新

    ListView的下拉刷新很常见,很多开源的框架都能做到这个效果,当然也可以自己去实现.本篇案例是基于xlistview的. 布局: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent&quo

随机推荐