存儲(chǔ)數(shù)據(jù)
SharedPreferences sharedPreferences = getSharedPreferences("wujay", MODE_PRIVATE); //私有數(shù)據(jù)
Editor editor = sharedPreferences.edit();//獲取編輯器
editor.putString("name", "user");
editor.String("pass", password);
editor.commit();//提交修改
取出數(shù)據(jù)
share = getSharedPreferences("aa", MODE_PRIVATE);
String name1 = share.getString("name", "沒(méi)有");
String pass1 = share.getString("pass", "沒(méi)有");
四種操作模式分別為:
1. MODE_APPEND: 追加方式存儲(chǔ)
2. MODE_PRIVATE: 私有方式存儲(chǔ),其他應(yīng)用無(wú)法訪問(wèn)
3. MODE_WORLD_READABLE: 表示當(dāng)前文件可以被其他應(yīng)用讀取
4. MODE_WORLD_WRITEABLE: 表示當(dāng)前文件可以被其他應(yīng)用寫入
Editor editor = sharedPreferences.edit();
editor存儲(chǔ)對(duì)象采用key-value鍵值對(duì)進(jìn)行存放,editor.putString("name", "wujaycode");
通過(guò)commit()方法提交數(shù)據(jù)
public class LoginActivity extends Activity {
private Boolean cb;
SharedPreferences share = null;
String name1;
String pass1;
private CheckBox logincheck;
@ViewInject(value = R.id.login_user)
private EditText loginuser;
@ViewInject(value = R.id.login_password)
private EditText loginpass;
@ViewInject(value = R.id.loginregist)
private Button loginregist;
@ViewInject(value = R.id.login)
private Button login;
// 登錄按鈕
@OnClick(R.id.login)
private void myLogin(View v) {
String name = loginuser.getText().toString();
String pass = loginpass.getText().toString();
//注意loginuser.equals("") && loginuser == null應(yīng)該這樣寫比較嚴(yán)謹(jǐn)
if (loginuser.equals("") && loginuser == null) {
Toast.makeText(LoginActivity.this, "請(qǐng)輸入用戶名", 1).show();
}
if (loginpass.equals("") && loginpass == null) {
Toast.makeText(LoginActivity.this, "請(qǐng)輸入密碼", 1).show();
}
if (name.equals(name1) && pass.equals(pass1)) {
Toast.makeText(LoginActivity.this, "登陸成功", 1).show();
if (logincheck.isChecked()) {
Editor editor = share.edit();
editor.putString("name", name1);
editor.putString("pass", pass1);
editor.commit();
}
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
startActivity(intent);
}
}
// 注冊(cè)按鈕
@OnClick(value = R.id.loginregist)
private void mylogin(View v) {
Intent intent1 = new Intent(LoginActivity.this, RegistActivity.class);
startActivity(intent1);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
ViewUtils.inject(LoginActivity.this);
logincheck = (CheckBox) findViewById(R.id.login_check);
share = getSharedPreferences("aa", MODE_PRIVATE);
name1 = share.getString("name", "沒(méi)有");
pass1 = share.getString("pass", "沒(méi)有");
if (share.getBoolean("IsCheck", false)) {
// 設(shè)置默認(rèn)是記錄密碼狀態(tài)
logincheck.setChecked(true);
loginuser.setText(name1);
loginpass.setText(pass1);
}
// 判斷是否選中密碼框
logincheck.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (logincheck.isChecked()) {
Toast.makeText(LoginActivity.this, "記住密碼選中", 1).show();
share.edit().putBoolean("IsCheck", true).commit();
} else {
share.edit().putBoolean("IsCheck", false).commit();
}
}
});
}
}
設(shè)置記住密碼的步驟
1.設(shè)置點(diǎn)擊事件setOnCheckedChangeListener判斷是否選中
2.利用putboolean方法傳遞值
3.判斷利用得到getBoolean()方法的到傳遞的值
4.獲取編輯器挖滤,當(dāng)為false時(shí)寫入