Training--保存数据(1)-- 保存键值对集合
来源:互联网 发布:交易平台php源码 编辑:程序博客网 时间:2024/05/22 01:59
保存数据(1)-- 保存键值对集合
如果你有一些相对少量的键值对形式的数据需要保存的话,你应该使用SharedPreferences接口。一个SharedPreferences对象指向一个保存了键值对的文件,并且提供一些简单方法读取和写入键值对数据。每一个SharedPreferences文件都由framework管理,它可以是私有的也可以是共享的。
本课程教你如何使用SharedPreferences接口来存储和读取简单的值。
获得一个指向SharedPreference的句柄
你可以使用下面两个方法中的一个来创建一个新的共享喜好文件或者访问一个已经存在的:
getSharedPreferences() – 如果你需要一个可以多处共享的喜好文件,那么你就使用这个接口,你可以在第一个参数中指定文件名。你可以在你的应用中使用任何Context引用来调用这个接口。
getPreferences() – 如果你需要一个仅共当前activity使用的单共享喜好文件的话,你可以使用这个接口。因为这个接口返回一个属于当前activity的默认喜好文件,所以你不需要提供文件名。
例如,下面是一段在某个fragment中执行的代码。它访问一个由资源字符串R.string.preference_file_key标识的喜好文件,使用私有模式打开,这样这个文件只能被你的应用使用。
Context context = getActivity();SharedPreferences sharedPref = context.getSharedPreferences( getString(R.string.preference_file_key), Context.MODE_PRIVATE);
当命名你的共享喜好文件时,你应该使用一个对于你的应用来说独一无二的名字,比如“com.example,myapp.PREFERENCE_FILE_KEY”。当然了,如果你需要一个仅对当前的activity服务的单共享喜好文件的话,你可以使用getPreferences()接口:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
注意:如果你在创建共享的喜好文件时,使用MODE_WORLD_READABLE或MODE_WORLD_WRITABLE模式,那么其他应用如果知道这个喜好文件的名字,他们都是可以访问你的数据的。
写入共享喜好
为了写入共享喜好文件,需要调用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();
读取共享喜好
为了从共享喜好文件中读取数据,调用方法如getInt()和getString(),提供想读取的数据的键值,一个备选的默认返回值。当你提供的键值不存在时,就会返回这个默认值。例如:
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);
- Training--保存数据(1)-- 保存键值对集合
- 安卓训练-开始-保存数据-保存键值对集合
- android保存键值对数据
- 保存数据 之 键值对的设置
- 小数据键值对的保存方式
- Training--保存数据(2)-- 保存文件
- 6.1 保存键值对
- android键值对保存
- 保存键值对
- Training--保存数据
- 【Android training】保存数据
- 【Android Training - 04】保存数据 [ Lesson 1 - 保存Key-Value]
- Android的SharedPreferences(首选项)保存键值对
- 进阶篇_map容器(保存键值对)
- linux下用cjson实现对数据键值对的封装保存
- 数据存储之保存键值设置
- xamarin .forms保存键值形式数据
- Learning Spark (Python版) 学习笔记(二)----键值对、数据读取与保存、共享特性
- Jenkins进阶系列之——17Jenkins升级、迁移和备份
- 在做黑马程序员中第10题出错啦,大家帮忙看看
- libmodbus的移植
- 解析 XML - 跨浏览器实现
- Sort Colors
- Training--保存数据(1)-- 保存键值对集合
- 排序算法--快速排序
- C程序设计语言笔记
- Jenkins进阶系列之——18Jenkins语言本地化
- HDU 1678 Shopaholic(排序)
- Editplus下设置json格式化
- 解决Linux下无法访问mysql的问题
- android适配各种分辨率的问题
- md5加密(java 代码实现)