本文实例为大家分享了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实战教程第七篇之如何在内存中存储用户名和密码全部内容,希望文章能够帮你解决Android实战教程第七篇之如何在内存中存储用户名和密码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)