安卓中的數據存儲:
1.xml(share preference)
2.Bianray File(file)
3.關係型數據庫 SQLite3
4.網絡訪問 Network,分爲socket,http,https
由於本人也在學習階段,寫此博客也是爲了日後複習方便,所以今天我只介紹share preference這種最爲簡單的存儲方式,日後再爲大家介紹其餘的三種方式。
share preference的使用方式是get shaeredpreferences(),get preferences();
Call edit() to get a SharedPreferences Editor
Add values with methods such as putBoolean() and putString()
Comint the new values with commit
這裏面簡單的涉及到了一點鍵值對的知識,即key,value;
官方給我用的代碼爲:
然後爲了讓大家更好的理解,我給大家舉了一個 非常好理解的例子,就是讓系統自動保存我們的用戶名,然後我們可以在ddms裏面的data文件夾裏面找到我們保存的內容,是以.xml的形式進行存儲的。
public class MainActivity extends AppCompatActivity {
SharedPreferences mSharedPreferences;
private EditText editText1;
private CheckBox checkBox1;
private SharedPreferences.Editor editor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initviews();
}
public void initviews() {
//得到對象
editText1 = (EditText) findViewById(R.id.editText);
checkBox1 = (CheckBox) findViewById(R.id.bt_wifi);
//第一種方法:
// mSharedPreferences = getSharedPreferences("sundy", MODE_PRIVATE);
//第二種方法:
mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
// if (mSharedPreferences!=null){
//
// mSharedPreferences.getBoolean("wifi_toggle",false);
// checkBox1.setChecked(mSharedPreferences.getBoolean("wifi_toogle", false));
// editText1.setText(mSharedPreferences.getString("your_name",""));
// }else{
// Toast.makeText(MainActivity.this, "--8888", Toast.LENGTH_SHORT).show();
// Log.i("sys","--sir---no xml");
//
// }
Button button1 = (Button) findViewById(R.id.button);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//編輯(並不是真正的編輯 打開對象)
editor = mSharedPreferences.edit();
editor.putBoolean("wifi_toggle", checkBox1.isChecked());
editor.putString("your_name", editText1.getText().toString());
//真正的提交事務
editor.commit();
Toast.makeText(MainActivity.this, "修改保存", Toast.LENGTH_SHORT).show();
}
});
}
}
這樣寫完了之後呢,我們便可以在關掉我們的程序之後,再次開啓的時候看到我們上次寫的內容。
以上便是我對於第一種方式的簡單的整理,之後我還會爲大家講解其餘的方式。