淘宝(阿里百川)手机客户端开发日记第五篇 SharedPreferences使用详解

我们知道,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,否则将追究版权责任!

 

你可能感兴趣的:(淘宝(阿里百川)手机客户端开发日记第五篇 SharedPreferences使用详解)