SharedPreferences存储

来源:互联网 发布:淘宝形象模特 编辑:程序博客网 时间:2024/05/01 20:03
 **不同于文件存储的方式,SharedPreferences 是使用键值对的方式来存储数据的.也就是说,当保存一条数据的时候,需要给这条数据提供一个对应的键,这样在读取数据的时候就可以通过这个键吧相应的值取出来.而且SharedPreferences还支持多种不同的数据类型存储,如果存储的数据类型是整型,那么读出来的数据也是整型的;如果存储的数据是字符串,那么读取出来的数据仍然是字符串. 这样你应该就能明显地感觉到,使用 SharedPreferences来进行数据持久化要比使用文件方便很多,下面我们就来看一下它的具体用法吧。 **将数据存储到 SharedPreferences 中** 要想使用SharedPreferences来存储数据,首先需要获取到SharedPreferences对象。Android中主要提供了三种方法用于得到 SharedPreferences 对象。** 1. Context 类中的 getSharedPreferences()方法

此方法接收两个参数,第一个参数用于指定 SharedPreferences文件的名称,如果指
定的文件不存在则会创建一个,SharedPreferences 文件都是存放在/data/data/

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" >``<Buttonandroid:id="@+id/save_data"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Save data"/></LinearLayout>`**然后修改 MainActivity 中的代码,如下所示:**

public class MainActivity extends Activity {
private Button saveData;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
saveData = (Button) findViewById(R.id.save_data);
saveData.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences.Editor editor = getSharedPreferences(“data”,
MODE_PRIVATE).edit();
editor.putString(“name”, “Tom”);
editor.putInt(“age”, 28);
editor.putBoolean(“married”, false);
editor.commit();
}
});
}
}
“`
可 以看到,这里首先给按钮注册了一个点击事件,然后在点击事件中通过
getSharedPreferences()方法指定SharedPreferences的文件名为data,并得到了SharedPreferences.Editor
对象。接着向这个对象中添加了三条不同类型的数据,最后调用 commit()方法进行提交,从
而完成了数据存储的操作。