1. 程式人生 > >初學者對SharePreferences資料儲存應用

初學者對SharePreferences資料儲存應用

1.什麼是SharePreferences

SharePreferences是安卓平臺上的一個輕量級儲存類,用來儲存少量資料時簡單、便捷(如記住密碼)。
SharePreferences以鍵值對形式儲存資料。
SharePreferences的儲存位置在/data/data/<包名>/sharedprefs目錄下
SharePreferences儲存資料以XML儲存。

2.如何使用SharePreferences

獲得使用SharePreferences物件;
獲得Editor物件;
通過Editor物件的putXXX函式,設定寫入資料;
通過Editor物件的commit()提交寫入。

3.使用SharePreferences記住密碼例項

下面我僅僅只把activity中的程式碼放出來


public class MainActivity extends AppCompatActivity{
    private Button login;
    private Button cancel;
    private CheckBox checkBox;
    private CheckBox checkBox2;
    private EditText editName;
    private EditText editPassword;



    private
int rememberFlag=0; private String password=""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bindID(); SharedPreferences sharedPreferences =getSharedPreferences("cun.xml"
,MODE_PRIVATE); if (sharedPreferences!=null){ String name=sharedPreferences.getString("name",""); password=sharedPreferences.getString("password",""); rememberFlag=sharedPreferences.getInt("remember_flag",0); //賦值給editName editName.setText(name); } if (rememberFlag==1) { checkBox.setChecked(true); editPassword.setText(password); } login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String username=editName.getText().toString(); String password=editPassword.getText().toString(); //1.建立SharedPreferences物件 SharedPreferences spf=getSharedPreferences("cun.xml",MODE_PRIVATE); //2.建立Editor物件,寫入值 SharedPreferences.Editor editor=spf.edit(); editor.putString("name",username); if (checkBox.isChecked()){ rememberFlag=1; editor.putString("password",password); editor.putInt("remember_flag",rememberFlag); }else { rememberFlag=0; editor.putInt("remember_flag",rememberFlag); } editor.commit(); Toast.makeText(MainActivity.this,"登入成功",Toast.LENGTH_SHORT).show(); } }); } private void bindID() { login = findViewById(R.id.login); cancel = findViewById(R.id.cancel); editName = findViewById(R.id.editName); editPassword = findViewById(R.id.editPassword); checkBox = findViewById(R.id.checkBox); checkBox2 = findViewById(R.id.checkBox2); } }

下面我們來看看效果圖
這裡寫圖片描述