Android数据存储(二)----- SharedPreferences存储

SharePreferences是使用键值对的方式来存储数据的,而且SharePreferences还支持多种不同的数据类型存储。

一、获得SharePreferences对象(三种方法)

1 . Context类中的getSharePreferences()方法

该方法接受两个参数,第一个参数用来指定SharePreferences文件的名称,如果指定的文件不存在则会创建一个。第二个参数是用于指定操作方式,主要有MODE_PRIVATE和MODE_MULTI_ROCESS两种方式。

  • MODE_PRIVATE ——– 这种模式是默认的操作模式,和传入0效果相同,表示只有当前应用程序才会对这个文件进行读写。

  • MODE_MULTI_PROCESS ——- 这种模式一般是用于多个进程中对同一个文件进行读写的情况。

getSharedPreferences("data", MODE_PRIVATE);

注:SharePreferences文件都是存放在/data/data/packagename/share_prefs/目录下的

2 . Activity类中的getPreferences()方法

这个方法和Context类中的getSharedPreferences()方法很类似,只是只接受一个操作模式参数,因为这个方法会把当前活动的类名作为SharePreferences文件的文件名。

getPreferences(MODE_PRIVATE);

3 . PreferenceManager类中的PreferenceManager.getDefaultSharedPreferences()方法。

这是一个静态方法,它接受一个Context参数,并自动使用当前应用程序的包名作为前缀来命名SharePreferences文件。

PreferenceManager.getDefaultSharedPreferences(this)

二、向SharePreferences文件中存储数据

1 . 调用SharedPreferences对象的edit()方法来获取一个SharePreferences.Editor对象。

SharedPreferences sharedPreferences = getSharedPreferences("data", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();

2 . 向SharePreferences.Editor对象中添加数据。

editor.putString("key1", "value1");

3 . 调用commit()方法将添加的数据进行提交,从而完成数据存储。

editor.commit();

三、 从SharePreferences文件中获取数据。

1 . 获得SharePreferences对象

SharedPreferences sharedPreferences = getSharedPreferences("data", MODE_PRIVATE);

2 . 使用提供的getXX()方法获取

sharedPreferences.getString("key1", null);

此处的getXX()方法需要传入两个值,第一个为当初存储数据时的建,第二个参数是当获取不到需要的值时提供的默认值。

你可能感兴趣的:(android,数据存储)