Android 中的 Preference
Android 中对于数据持久化有四种基本方式:
- 用文件保存
- SQLite
- SharedPreference
- ContentProvider
当我们存储一些简单的数据的时候,可以利用 SharedPreferences,以 key-value pair 键值对的形式(类似于 Bundle)。
类型:
android.content.SharedPreferences 是一个 interface,一共有三种类型:
- 调用Activity对象的 getPreferences(int mode) 方法
public SharedPreferences getPreferences(int mode)
该方法获取的是本 Activity 自己的 Preference,保存在系统中的 xml文件的文件名为这个 Activity 的名字。一个 Activity 只能有一个自己的 Preference.
- 调用Context对象的 getSharedPreferences(String name, int mode) 方法
public SharedPreferences getSharedPreferences(String name, int mode)
获取整个 App 的 Preference,可以被该 App 的所有 Activity 访问,可以有多个。以 String name 相互区别。保存的.xml 文件以第一参数的 name 为文件名。
- 调用 PreferenceManager的静态函数 getDefaultSharedPreferences(Context context)
public static SharedPreferences getDefaultSharedPreferences(Context context)
得到的 Preference 属于整个应用程序,但只有一个。对应的 .xml 文件以包名和 PreferenceActivity 的布局文件来起名字。
存储位置
/data/data/PACKAGE_NAME/shared_prefs/
网友评论