当前位置: 移动技术网 > IT编程>移动开发>Android > Android实战教程第七篇之如何在内存中存储用户名和密码

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

2019年07月24日  | 移动技术网IT编程  | 我要评论

本文实例为大家分享了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(); 
  } 
   
} 

最后是截图:


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

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网