SharedPreferences 是Android数据存储的一种最简单的方式。它一般用来存储应用吃呢光绪的一些属性设置。在Android平台中常用于储存简单的参数设置。Shared Preferences 有点类似我们常用的ini文件
可以通过getPreferences()方法来获取Preferences对象,通过 SharedPreferences.Editor editor =uiState.edit()获取编辑对象,然后通过editro.put...()方法添加数据。然后通过commit方法来提交这些数据。如果不需要和其他模块共享数据,可以使用Activity.getPreference方法保持数据私有。
需要注意的是,我们无法直接在多个程序中共享SharedPreferences数据。
下面我们将保存一个文件,在下次的启动的时候自动载入。
代码段一:载入上次的结果。
SharedPreferences settings=getPreferences(Activity.MODE_PROVATE);
bool bOpen=settings.getBoolean("bOpen",false);
/*
public abstract boolean getBoolean (String key, boolean defValue)
Retrieve a boolean value from the preferences.
Parameters
key | The name of the preference to retrieve. |
---|---|
defValue | Value to return if this preference does not exist. |
Returns
- Returns the preference value if it exists, or defValue. Throws ClassCastException if there is a preference with this name that is not a boolean.
*/
这里面还有getInt,getString,getLong等等方法可以使用。
代码二:保存数据
//取得活动的preferences
SharedPreferences uiState=getPreferences(0); //Activity.MODE_PRIVATE=0
//取得编辑对象
SharedPreferences.Editor editor =uiState.edit();
//添加或者修改值
editor.putBoolean("bOpen",true);
editor.putString("name","Rocky");
//提交保存
editor.commit();
上面的代码基本上已经演示完了基本的数据操作。利用Preferences可以简单的保存数据。
问题是:这些数据到底是保存在上面地方呢?
其实每安装一个应用程序时,在/data/data/目录下会产生一个文件夹,文件夹名为应用程序的Packagename.
在这个文件夹里面会产生一个shared_prefs的文件夹。其中就是我们保存的数据。一般是以xml文件形式存在。
用户可以使用adb 命令来查询或者使用Eclipse 的DDMS视图中的File Explorer 来查阅。
以上东西虽然简单,但是还是希望自己动手写个SharedPreferencesDemo来练练手。否则就是纸上谈兵了。