安卓中的数据存储:
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();
}
});
}
}
这样写完了之后呢,我们便可以在关掉我们的程序之后,再次开启的时候看到我们上次写的内容。
以上便是我对于第一种方式的简单的整理,之后我还会为大家讲解其余的方式。