Android数据保存之一——保存Key-Values对
2013-01-06 07:44
183 查看
可以用SharedPreferences API存储键值对,并且提供了简单的访问方法,还可以控制SharedPreferences文件的访问权限。
下面介绍SharedPreferences API的使用方法。
name.
例如,下面代码在一个Fragment中执行,得到一个由R.string.preference_file_key资源标志的SharedPreferences文件,并用private模式打开,表示只能在你自己的app中访问这个文件
命名SharedPreference文件时最好用app范围内唯一的名字,像com.example.myapp.PREFERENCE_FILE_KEY
另外,getPreferences()可以得到一个仅属于当前activity的SharedPreference文件
如果以MODE_WORLD_READABLE 或者 MODE_WORLD_WRITEABLE打开,那么其他的app也可以访问数据
通过
第二个参数表示如果提供的键不存在时采用的默认值。
下面介绍SharedPreferences API的使用方法。
得到一个SharedPreferences对象
用以下方法得到或创建一个SharedPreferences文件对象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.
getPreferences()— Use this from an
Activityif you need to use only one shared preference file for the activity. Because this retrieves a default shared preference file that belongs to the activity, you don't need to supply a
name.
例如,下面代码在一个Fragment中执行,得到一个由R.string.preference_file_key资源标志的SharedPreferences文件,并用private模式打开,表示只能在你自己的app中访问这个文件
Context context = getActivity(); SharedPreferences sharedPref = context.getSharedPreferences( getString(R.string.preference_file_key), Context.MODE_PRIVATE);
命名SharedPreference文件时最好用app范围内唯一的名字,像com.example.myapp.PREFERENCE_FILE_KEY
另外,getPreferences()可以得到一个仅属于当前activity的SharedPreference文件
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
如果以MODE_WORLD_READABLE 或者 MODE_WORLD_WRITEABLE打开,那么其他的app也可以访问数据
写入 Shared Preferences文件
要写入,先通过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文件读取
要从文件中读取数据,可以调用getInt(),
getString()等方法,例如:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);long defaultVal = getResources().getInteger(R.string.saved_high_score_default));
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultVal);
第二个参数表示如果提供的键不存在时采用的默认值。
相关文章推荐
- Android — 使用 sharedPreferences 本地保存 key-value 数据
- Android中(java)读取以key=value形式保存在txt等文本文件的数据
- 【Android Training - 04】保存数据 [ Lesson 1 - 保存Key-Value]
- android 中保存bgra数据为jpg文件
- Android中File形式保存数据【安卓进化三十】
- Android意外情况(来电话,按Home键,内存不足)保存数据的方法
- Android保存List<Map<String,Object>>数据到SD卡及读取
- Android四种保存数据的方法
- android -将数据保存在文件中 4000
- Android 保存数据到文件
- Android中保存数据常用的方法
- Android采用SharedPreferences保存数据
- android---(Activity组件、状态、生命周期、传递数据、处理返回结果、屏幕方向、保存数据)
- android File保存数据
- Android---09---保存数据到手机内存和存储卡
- SharedPerferences 保存数据,android提供用于保存简单配置信息,标记,用户数据的一种方式
- [Android]用SharedPreferences保存List<Map<String, String>>数据
- Android采用SharedPreferences保存数据
- Android 用application保存全局变量,关于Android中传递数据的一些讨论
- Android数据存储方式(二)SharedPreferences(偏好参数保存)