【Android】SharedPreferences应用

(zz:Android开发中SharedPreferences的应用

项目中需要对用户输入的信息进行存储,然后在后续程序中读取使用,利用到了SharedPreferences类。

A. 储存操作
通常会在onPause()方法中进行Preferences的储存操作。
public SharedPreferences getSharedPreferences (String name, int mode)
其中name为Preferences的文件名
mode有以下三种:

 

 1 /*
 2 * SharedPreferences支持string,int,float,long等
 3 * 读写权限对本程序没有作用
 4 * 模式为私有(Context.MODE_PRIVATE)值0,
 5 * 公开可读(Context.MODE_WORLD_READABLE)值1,
 6 * 公开可写(Context.MODE_WORLD_WRITEABLE)值2
 7 * 或者某种组合
 8 * 追加形式(Context.MODE_APPEND)
 9 * 
10 * */

MODE_PRIVATE 表示当下应用程序专用
MODE_WORLD_READABLE 表示数据能被其他应用应用程序读,但是不能写。
MODE_WORLD_WRITEABLE 表示数据能被其他应用应用程序读,写。
通过SharedPreferences.Editor对Preferences进行写入设定。
SharedPreferences.Editor editor = preferences.edit();
再利用SharedPreferences.Editor的putBoolean()、putFloat()、putInt()、putLong()及putString()方法进行数据的写入。
最后需要执行commit()方法,才能将设定真正写入。

 

B. 读取操作
同样通过getSharedPreferences()来指定文件名。再使用getBoolean()、getFloat()、getInt()、getLong()及getString()方法来读取数据。
可以设定如果没有读到相应数据的默认返回值。

 

读取preferences的程序:

1 /**
2      * read the preferences and get the value  
3      * @return String
4       */
5     protected String readPreferences(String perferencesName, String key) {
6          SharedPreferences preferences = getSharedPreferences(perferencesName, MODE_PRIVATE);
7          String result = preferences.getString(key, null);
8          return result;
9      }

写入preferences的程序:

1 /**
2      * write the preferences
3        */
4     protected void writePreferences(String perferencesName, String key, String value) {
5         SharedPreferences preferences = getSharedPreferences(perferencesName, MODE_PRIVATE);
6         SharedPreferences.Editor editor = preferences.edit();
7         editor.putString(key, value);
8         editor.commit();
9      }
posted @ 2012-10-15 11:19  大脚印  阅读(258)  评论(0编辑  收藏  举报