package
com.example.saveuserandpasswor; import
android.app.Activity; import
android.content.SharedPreferences; import
android.content.SharedPreferences.Editor; import
android.os.Bundle; import
android.view.Menu; import
android.view.View; import
android.widget.CheckBox; import
android.widget.EditText; import
android.widget.Toast;<br> /**<br> *模拟一个简单的用户登录时保存密码的功能。该demo 没有对密码进行加密,处于安全考虑可以使用MD5或UUID进行密码加密 --后台代码<br> */
public class MainActivity extends
Activity {
private
EditText userName;
private
EditText password;
private
CheckBox cb;
private
SharedPreferences sp; // 内容提供者
@Override
public
void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
userName = (EditText) findViewById(R.id.UserName); //获取ui界面中的空间元素
password = (EditText) findViewById(R.id.Password);
cb = (CheckBox) findViewById(R.id.saveUserAndPassword);
sp = getSharedPreferences( "save" , MODE_PRIVATE); // 设置保存信息的配置文件是私有的文件,存储问文件形式以xml文件存储,其实就是一个map
// 集合
String username = sp.getString( "username" , "" );
String pass = sp.getString( "password" , "" );
if
(username.length() != 0
&& pass.length() != 0 ) {
userName.setText(username);
password.setText(pass);
cb.setChecked( true );
}
}
public
void login(View view) { //在UI界面里面对Button按钮进行事件绑定,onclick() 方法<br> String user = userName.getText().toString();
String pass = password.getText().toString();
boolean
iscb = cb.isChecked();
Editor editor = sp.edit(); // 获取编辑器
if
(iscb) { // 如果checkbox 被选中则保存用户名和密码
editor.putString( "username" , user);
editor.putString( "password" , pass);
} else
{
editor.putString( "username" , "" );
editor.putString( "password" , "" );
}
editor.commit(); // 登陆完事后将用户输入的账号密码保存到配置文件中
Toast.makeText(getApplicationContext(), "登陆成功" , Toast.LENGTH_SHORT) // 操作完成一个时间后执行的操作
.show();
}
@Override
public
boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return
true ;
}
}
|