Android - 数据存储 -存储键值对
2013-06-18 22:36
417 查看
如果你有少量的键值数据需要存储,可以使用SharedPreferencesAPI。SharedPreferences对象指向一个包含键值对的文件并且提供了一些简单的方法来读取它们。每个SharedPreferences文件由framework管理而且可以时私有的或者共享的。
这里将要介绍如何使用SharedPreferences API来存储和找回数据
注意:SharedPreferences API是用来读写键值对的,所以不要和Preference API弄混了。Perference是用来为app设置创建用户界面的(虽然它们也用SharedPreferences来实现app设置的数据存储)。关于Preference API的信息, 参考Settings guide。
获得SharedPreferences的句柄
你可以创建一个新的preference 文件也可以通过下面的两个方法使用一个已有的:
getSharedPreferences()。使用这个方法,如果你需要获得以名字为标识的多个共享的preference文件,第一个参数传递名字。你可以在app中任何的context调用
getPreferences()。在Activity中使用这个方法,如果你需要activity的一个共享的preference文件。因为这个方法返回了一个activity的默认共享的preference文件,所以不需要提供名字。
例如,下面是一段在Fragment中执行的代码。它访问了由R.string.preference_file_key标识的共享preferences文件然后用私有模式打开它,咋样这个文件只有你的app能进入。
命名preference文件时,应该用一个可唯一标识app的名字,比如"com.example.myapp.PREFERENCE_FILE_KEY"
或者,你只需要activity的一个preference 文件, 你可以使用getPreferences()方法:
注意:如果用MODE_WORLD_READABLE或者MODE_WORLD_WRITEABLE创建preferences文件,那么其他知道文件标识的app都可以访问这个数据。
写入Preferences
如果要写入preferences文件,创建一个SharedPreferences.Editor然后调用SharedPreferences的edit()。
把想要存储的键值对通过putInt()或putString()之类的方法传给它,然后调用commit()来保存修改。例如:
读Preferences
如果要从preferences文件中获得值,调用getInt()或者getString()之类的方法,然后提供你想要的的值的key,如果key不存在就会返回一个随机值,例如:
上一篇:Android - 数据存储
下一篇:Android - 数据存储 -存储文件
这里将要介绍如何使用SharedPreferences API来存储和找回数据
注意:SharedPreferences API是用来读写键值对的,所以不要和Preference API弄混了。Perference是用来为app设置创建用户界面的(虽然它们也用SharedPreferences来实现app设置的数据存储)。关于Preference API的信息, 参考Settings guide。
获得SharedPreferences的句柄
你可以创建一个新的preference 文件也可以通过下面的两个方法使用一个已有的:
getSharedPreferences()。使用这个方法,如果你需要获得以名字为标识的多个共享的preference文件,第一个参数传递名字。你可以在app中任何的context调用
getPreferences()。在Activity中使用这个方法,如果你需要activity的一个共享的preference文件。因为这个方法返回了一个activity的默认共享的preference文件,所以不需要提供名字。
例如,下面是一段在Fragment中执行的代码。它访问了由R.string.preference_file_key标识的共享preferences文件然后用私有模式打开它,咋样这个文件只有你的app能进入。
Context context = getActivity(); SharedPreferences sharedPref = context.getSharedPreferences( getString(R.string.preference_file_key), Context.MODE_PRIVATE);
命名preference文件时,应该用一个可唯一标识app的名字,比如"com.example.myapp.PREFERENCE_FILE_KEY"
或者,你只需要activity的一个preference 文件, 你可以使用getPreferences()方法:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
注意:如果用MODE_WORLD_READABLE或者MODE_WORLD_WRITEABLE创建preferences文件,那么其他知道文件标识的app都可以访问这个数据。
写入Preferences
如果要写入preferences文件,创建一个SharedPreferences.Editor然后调用SharedPreferences的edit()。
把想要存储的键值对通过putInt()或putString()之类的方法传给它,然后调用commit()来保存修改。例如:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();
读Preferences
如果要从preferences文件中获得值,调用getInt()或者getString()之类的方法,然后提供你想要的的值的key,如果key不存在就会返回一个随机值,例如:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
int defaultValue = getResources().getInteger(R.string.saved_high_score_default);
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue);
上一篇:Android - 数据存储
下一篇:Android - 数据存储 -存储文件
相关文章推荐
- Android的数据存储——存储键值对,SharedPreferences
- Android数据存储之键值对数据和File数据
- Android官方开发文档Training系列课程中文版:数据存储之键值对序列存储
- Android数据的几种存储方式---------SharePreferences(轻量的以键值对) 的使用
- Android学习三 数据存储相关
- Android SharedPreferences存储数据
- Android数据存储与持久化
- Android之数据存储详解(二)之SQLite数据库存储数据
- Android的数据存储和IO-SD卡文件浏览器
- Android数据存储操作②文件存储
- Android 存储数据之2 SharedPreferences存储
- Android的五中数据存储方式
- Android——数据存储(四种方式之二)读写SD卡
- android中数据的存储
- Android 数据存储——SQLite实例、判断数据库中表是否存在
- Android中数据存储--采用SQLite存储数据及在SDCard中创建数据库
- Android应用开发基础之数据存储和界面展现(二)
- Android数据存储-ContentProvider总结
- Android 项目之--数据存储
- Android数据存储操作④Adapter之ArrayAdapter、SimpleAdapter