欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2024-03-01 13:29:34
本文实例为大家分享了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(); 
  } 
   
} 

最后是截图:

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

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

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