您的位置:首页 > Web前端

利用Shared Preferences 保存用户名密码 的方法

2014-09-24 21:56 309 查看
菜鸟日记

====================================

刚学习Android不久,最近做的大部分都是关于UI布局方面的工作,一些小问题往往会纠结很多时间,等到某个时间才会豁然开朗

这些天在帮公司整一个需要登录界面的App,我完成的是控件布局的工作,也就因为这个才接触到SharedPreferences,下面就分享下我的代码

/*
*利用Shared Prefences  保存用户名信息
*
*
* 概述:
*	1.在 onPause() 方法中保存数据
*	2.在 onResume() 方法中读取数据
*
*/

private EditText editUsername;
private EditText editPassword;
private CheckBox cbLogin;

@Override
protected void onResume() {
super.onResume();
//读取Shared Preferences保存的用户数据
SharedPreferences sp = getSharedPreferences("LOGININFO", MODE_PRIVATE);
editUsername.setText(sp.getString("USERNAME", null));
editPassword.setText(sp.getString("PASSWORD", null));
cbLogin.setChecked(sp.getBoolean("CHECKED", false));
}

@Override
protected void onPause() {
super.onPause();
//保存用户数据到Shared Preferences
SharedPreferences sp = getSharedPreferences("LOGININFO", MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
if(cbLogin.isChecked()) {
editor.putString("USERNAME", editUsername.getText().toString());
editor.putString("PASSWORD", editPassword.getText().toString());
} else {
editor.putString("USERNAME", null);
editor.putString("PASSWORD", null);
}
editor.putBoolean("CHECKED", cbLogin.isChecked());
editor.commit();
}


=============================================

上面的例子实现了,若勾选CheckBox “保存信息”,则会将用户名和密码用SharedPreferences的方法来读写。

在编写代码的过程中,最后要通过Log tag观察Activity的生命周期来确定了该在何时读取何时保存
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息