我们知道,Android中数据存储技术由于如下几种
1 使用SharedPreferences存储数据
2 文件存储数据
3 SQLite数据库存储数据
4 使用ContentProvider存储数据
5 网络存储数据
今天,我们来谈谈SharedPreferences,它处理的就是一个key-value(键值对)。SharedPreferences常被用来存储一些轻量级的数据.
public interface SharedPreferences;
Interface for accessing and modifying preference data returned by getSharedPreferences(String, int)
. For any particular set of preferences, there is a single instance of this class that all clients share. Modifications to the preferences must go through an SharedPreferences.Editor
object to ensure the preference values remain in a consistent state and control when they are committed to storage.
[翻译]
SharedPreferences是通过getSharedPreferences(String, int)用来处理访问和修改引用的数据,对于一些特别的引用数据集,客户端可以共享的只有一个实例。修改数据必须通过SharedPreferences.Editor
对象来保证数值一致的状态当提交保存的时候。
大致的意思就是,对于这样的数据,访问和修改它,其实都是通过单例模式来处理的。
SharedPreferences的四种操作模式:
Context.MODE_PRIVATE :默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
Context.MODE_APPEND : Context.MODE_APPEND意思是模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
Context.MODE_WORLD_READABLE
Context.MODE_WORLD_WRITEABLE : Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件.
经常使用的方法:
/*
* name: Desired preferences file. If a preferences file by this name does not exist, it will be created when you retrieve an editor (SharedPreferences.edit()) and then commit changes * (Editor.commit()).
*
*/
//保存数据
SharedPreferences preferences=getSharedPreferences("test",Context.MODE_PRIVATE);
Editor editor=preferences.edit();
String name="yushengbo";
String age="22";
editor.putString("name", name);
editor.putString("age", age);
editor.commit();
//获取数据:
SharedPreferences preferences=getSharedPreferences("test", Context.MODE_PRIVATE);
String name=preferences.getString("name", "defaultname");
String age=preferences.getString("age", "0");
转载请注明http://www.cnblogs.com/yushengbo,否则将追究版权责任!