当大家 用Android 应用 操作时,会发现有很多应用要登陆名和密码,而且,它们都能记住密码,当你退出 ,再次登陆时,你们帐号密码会自动添加上去。

例:

布局文件 相信都能做出来 就不一一介绍 了。

下面直接来正文。

创建一个LoginActivity  文件

public class LoginActivity extends Activity { // 声明 获取的用户名与密码的组件

public EditText edit_name, edit_pass;

// 声明登陆按钮对象

public Button btn_login;

// 声明CheckBox组件对象

public CheckBox box_remember;

// 创建业务对象

public FileService fileService; @Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);  // 设置显示视图

setContentView(R.layout.activity_login);  // 实例化业务对象

fileService = new FileService(this);  // 根据id名称获取相应组件对象

edit_name = (EditText) findViewById(R.id.name_value);

edit_pass = (EditText) findViewById(R.id.pass_value);

btn_login = (Button) findViewById(R.id.but);

box_remember = (CheckBox) findViewById(R.id.cobx);  // 给按钮注册事件

btn_login.setOnClickListener(new MyOnClickListener());  // 回显数据

Map map = fileService.readFile("private.txt");

if (map != null) {

edit_name.setText(map.get("name"));

edit_pass.setText(map.get("pass"));

} } @Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.login, menu);

return true;

} // 内部类

class MyOnClickListener implements View.OnClickListener {

@Override

public void onClick(View v) {

int id = v.getId();  // 判断当前点击组件是否是 按钮

if (id == btn_login.getId()) {    // 获取用户名与密码

String name = edit_name.getText().toString();

String pass = edit_pass.getText().toString();    // 判断用户名与密码是否为空

if (TextUtils.isEmpty(name) || TextUtils.isEmpty(pass)) {

Toast.makeText(LoginActivity.this, "用户名或者密码不能为空",

Toast.LENGTH_LONG).show();

return;

} else {    // 如果记住密码勾选上了

if (box_remember.isChecked()) {

// 进行保存

// 调用业务对象的业务方法

LoginActivity.this.fileService.saveToRom(name, pass,

"private.txt");

Toast.makeText(LoginActivity.this, "用户名和密码需要保存",

Toast.LENGTH_LONG).show();    } else {

// 不保存

Toast.makeText(LoginActivity.this, "用户名和密码不需要保存",

Toast.LENGTH_LONG).show();

}    }  }  } }}    public class FileService {

//上下方对象

public Context context;

public FileService(Context context){

this.context = context;

}

/**

* 住手机内存卡上存储 用户名与密码的操作

*

*

*/

public boolean saveToRom(String name,String pass,String fileName){

//上下文对象的api

try {

//通过 openFileOutput()方法获取一个文件 的输出流对象

FileOutputStream fos = context.openFileOutput(fileName, Context.MODE_PRIVATE);

//拼接用户名与密码

String result = name + ":" +pass;

//写入

fos.write(result.getBytes());

fos.flush();

fos.close();

} catch (Exception e) {

e.printStackTrace();

return false;

}

return true;

}

//读取数据操作

public Map readFile(String fileName){

Map map = null;

try {

FileInputStream fis = context.openFileInput(fileName);

String value = StreanTools.getValue(fis);

String values[] = value.split(":");

if(values.length >0){

map = new HashMap();

map.put("name", values[0]);

map.put("pass", values[1]);

}

} catch (Exception e) {

e.printStackTrace();

}

return map;

} }    public class StreanTools {

public static String getValue(FileInputStream fis)throws Exception{

//字节 流输出流对象

ByteArrayOutputStream stream = new ByteArrayOutputStream();

byte[] buffer = new byte[1024];

int length = -1;

while((length = fis.read(buffer)) != -1){

stream.write(buffer, 0, length);

}

stream.flush();

stream.close();

String value = stream.toString();

return value;

}}

手机内存卡转化linux,Android 往手机内存卡上存储用户名与密码的操作相关推荐

  1. android在哪存储当前用户名和密码,Android实战教程第七篇之如何在内存中存储用户名和密码...

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

  2. 服务器无响应 错误691,错误 691:由于域上的用户名和/密码无效而拒绝访问的原因及解决办法...

    当我们使用ADSL宽带连接上网的时候,由于网络不稳定的原因,难免会遇到"在核对用户名和密码"的时候,出现:"错误 691:由于域上的用户名和/密码无效而拒绝访问" ...

  3. java自动填充_java 如何自动填充网页上的用户名和密码?

    展开全部 java 自动填充网页上的用户名和密码有两种方法: 方法一.在input 标签里面的 value属性赋值即可,如32313133353236313431303231363533e78988e ...

  4. 开发实况4.1.linux相关-CRT连接虚拟机提示用户名或密码错误

    文章目录 开发实况4.1.linux相关-CRT连接虚拟机提示用户名或密码错误 一.简介 二.问题解决 开发实况4.1.linux相关-CRT连接虚拟机提示用户名或密码错误 一.简介 已知我输入的用户 ...

  5. android sharedpreferences 存储对象,android中SharedPreferences实现存储用户名功能

    1. 简介 SharedPreferences是一种轻型的数据存储方式,通过key-value键值对的方式将数据存储在xml文件中,常用于存储简单的配置信息. 2. 使用方式 2.1 获取Shared ...

  6. android登录实现回显用户名和密码

    基于android的登录例子 程序的流程 1.从布局中取得用户名和密码 2.判断是否为空,为空不进行处理,不为空默认登录成功 3.登录成功后,把用户信息储存在私有目录中 4.用户在次使用app使,去读 ...

  7. android 客户端使用service处理用户名和密码验证,android透过webservice验证用户

    当前位置:我的异常网» Web前端 » android透过webservice验证用户 android透过webservice验证用户 www.myexceptions.net  网友分享于:2015 ...

  8. 手机内存卡转化linux,安卓手机内置内存卡和外置内存卡(SD卡)互换方法

    此类置换仅适用于有内置内存卡和外置内存卡的机,一般情况下,内置内存卡是指:该手机内部自带的存储空间.而外置内容卡是指:非机身自带的空间,如:SD卡.还不懂的可以问度娘.机身内存多的请忽略,root手机 ...

  9. 手机内存卡转化linux,怎样把手机内存移至sd内存卡

    随着网络的发展,手机应用软件多种多样,种类繁多.手机不单是打电话,更是我们生活娱乐必不可少的.为了满足娱乐的需要,往往会下载很多娱乐软件在手机上,手机经常会提示"手机内存不足,可能导致某些应 ...

最新文章

  1. JavaScript与TypeScript总结
  2. 音视频编解码的国际标准
  3. DevExpress.XtraBars.Ribbon控件使用系列 (1)创建Ribbon窗体
  4. 使用$.post和$.get向服务器发送请求
  5. perl数组硬引用_Perl 继续前行,Perl 7 将是下一代(硬核老王点评版)
  6. C语言入门基础——Brute-Force算法
  7. 锋利的Jquery摘要
  8. 如何在虚拟机上安装TrueNAS系统
  9. 通用数据库连接工具--DbVisualizer的使用
  10. DEDE 织梦 CMS 文章采集不到
  11. 前端机器人流程设计的最佳实践:输入输出文件结构和逻辑框架
  12. 在 React 中使用 TypeScript、使用CRA创建TS项目、React 中的常用类型
  13. 【Spark】(五)Spark Transformation(转换算子) 和 Action(执行算子)
  14. 迪赛智慧数——柱状图(象形标识图):全国历年结婚登记数
  15. 用Filmage Editor制作视频,赢不限时长录屏神器永久序列码!
  16. php本地浏览器调试,php浏览器端调试输出方法
  17. 利用JS实现简易ATM机
  18. 解决微信H5页面软键盘弹起后页面下方留白的问题(iOS端)
  19. 推荐几个美女程序媛和大佬的公众号!
  20. asp.net页面名首字母大小写对网页权重的影响

热门文章

  1. Git学习(3)GitHub和SVN的区别
  2. html:(20):使用下拉框进行多选和使用提交按钮提交
  3. 无线网卡共享Internet访问到电脑有线接口注意事项
  4. 记腾讯互娱网站布局(3)
  5. python词云_python词云
  6. android 进度条_Android仿水波纹流球进度条控制器,实现高端大气的主流特效
  7. 计算机无法同步时间,为什么在Win7中无法同步计算机时间?
  8. .Net Core 3.0下AOP试水~~
  9. 数据结构之单向环形列表解决josef问题
  10. Java常考面试题(一)