Android学习路线(二十七)键值对(SharedPreferences)存储
2014-10-06 15:49
381 查看
假设你又一个相对较小的键值对数据想要保存,你应该使用
本课将介绍怎样使用
提示:
仅仅能被用来操作键值对类型数据,不要把它和
你能够通过以下随意一种方式创建一个新的shared preference文件或者訪问一个已经存在的shared preference文件:
Use this if you need multiple shared preference files identified by name, which you specify with the first parameter. You can call this from any
your app.
假设你通过不同的名字保存了多个shared preference文件,那么你能够使用这种方法,这种方法的第一个參数即为文件名称。你能够在应用中使用Context对象来调用它。
假设你仅仅须要在这个activity中使用一个shared preference文件,那么你能够在activity中调用这种方法。由于这种方法会返回属于这个activity的一个默认的shared preference文件,你不须要为它提供一个名字。
比如,下面的方法会在
preferences文件,这个文件被
当为你的shared preference文件命名时,你应当使用一个唯一的标识,比如
作为替代,假设你仅仅想要在你的activity中使用一个shared preference文件,你能够使用
注意: 假设你使用
preference文件,那么不论什么其它知道这个文件标识的app都可以訪问到你的数据。
要向shared preferences文件里写入数据,你须要调用SharedPreferences的edit()方法来创建一个SharedPreferences.Editor 对象。
传入键和值给你想要调用的方法,比如
要从shared preferences文件里获取数据,能够调用getInt()或者getString()等方法,仅仅须要提供你想要获得的值相应的key就能够了;你也能够选择再传入一个默认值,假设通过传入的key没有取道值将会返回这个默认值。比如:
SharedPreferencesAPIs。一个
SharedPreferences对象指向一个包括键值对的文件,它提供简单的方法来读写他们。每一个
SharedPreferences文件系统框架管理,它们能够是私有的也能够被共享。
本课将介绍怎样使用
SharedPreferencesAPIs来存储和获取简单的数据。
提示:
SharedPreferencesAPIs
仅仅能被用来操作键值对类型数据,不要把它和
PreferenceAPIs弄混淆,Preference是用来帮助用户构建app设置界面的。很多其它关于
PreferenceAPIs的信息,请移步Settings 向导。
获取SharedPreferences的引用(句柄)
你能够通过以下随意一种方式创建一个新的shared preference文件或者訪问一个已经存在的shared preference文件:getSharedPreferences()—
Use this if you need multiple shared preference files identified by name, which you specify with the first parameter. You can call this from any
Contextin
your app.
getSharedPreferences()—
假设你通过不同的名字保存了多个shared preference文件,那么你能够使用这种方法,这种方法的第一个參数即为文件名称。你能够在应用中使用Context对象来调用它。
getPreferences()—
假设你仅仅须要在这个activity中使用一个shared preference文件,那么你能够在activity中调用这种方法。由于这种方法会返回属于这个activity的一个默认的shared preference文件,你不须要为它提供一个名字。
比如,下面的方法会在
Fragment中被运行。它在内部訪问了一个shared
preferences文件,这个文件被
R.string.preference_file_key这个字符串指定,而且它是被私有模式(private mode)打开的,因此仅仅能被你的app訪问。
Context context = getActivity(); SharedPreferences sharedPref = context.getSharedPreferences( getString(R.string.preference_file_key), Context.MODE_PRIVATE);
当为你的shared preference文件命名时,你应当使用一个唯一的标识,比如
"com.example.myapp.PREFERENCE_FILE_KEY"
作为替代,假设你仅仅想要在你的activity中使用一个shared preference文件,你能够使用
getPreferences()方法:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
注意: 假设你使用
MODE_WORLD_READABLE或者
MODE_WORLD_WRITEABLE模式创建了一个shared
preference文件,那么不论什么其它知道这个文件标识的app都可以訪问到你的数据。
向Shared Preferences中写入数据
要向shared preferences文件里写入数据,你须要调用SharedPreferences的edit()方法来创建一个SharedPreferences.Editor 对象。传入键和值给你想要调用的方法,比如
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();
从Shared Preferences中读取数据
要从shared 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学习路线(二十七)键值对(SharedPreferences)存储
- Android学习路线(二十六)Android数据存储
- Android学习——数据存储
- Android学习札记二:数据存储之SharedPreferences
- Android学习路线
- 【android学习之十】——数据存储2:SQLite数据库操作
- 【android学习之九】——数据存储1:SharedPreferences,Files,网络
- Android学习——数据存储
- Android学习路线---写的很好 【mars论坛转过来的】
- android学习路线
- android学习路线图
- Android学习——数据存储
- Android 学习笔记7---数据存储与访问
- Android学习路线
- Android之学习路线
- Android游戏与应用开发最佳学习路线图
- Android中存储体系介绍,SQLite学习笔记
- Android学习路线
- android数据存储学习记录
- Android推荐学习路线图