SharedPreferences是android平台上一个轻量级的键值存储,只能存储一些基本类型的数据。如字符串,int类型,boolean类型等。
它的本质是基于xml文件来存储key-value格式的数据。通常用来存储一些简单的配置信息,该xml文件的存储位置在/data/data/<包名>/shared_prefs目录下。
在eclipse中创建一个android工程,实现activity类如下:
package com.sharedPreference; import android.os.Bundle; import android.app.Activity; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; public class Activity1 extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity1); //获取SharedPreferences对象 SharedPreferences sp = getPreferences(MODE_PRIVATE); //SharedPreferences sp = getSharedPreferences("sp", MODE_PRIVATE); /** * 调用SharedPreferences对象的edit()方法,获取Editor编辑器对象。 * 通过Editor对象的putXXX()方法可以实现基本数据类型的保存, * 最后调用commit()方法提交保存。 */ Editor editor = sp.edit(); editor.putString("name", "xmong"); editor.putInt("age", 20); editor.commit(); /** * 调用SharedPreferences对象的getXXX()方法获取SharedPreferences存储中的数据 * 第一个参数String类型:查去的key值 * 第二个参数指定的是默认值,如果查取不到该key对应的value值则返回该默认值 */ System.out.println("name:"+sp.getString("name", "null")); System.out.println("age:"+sp.getInt("age", 0)); } }
程序运行结果如下:
name:xmong age:20
程序运行后我们可以通过DDMS的File Explor查看到/data/data/com.example/shared_prefs目录下生成了一个Activity1.xml文件,该文件为SharedPreferences的数据存储文件,导出该文件内容如下:
通过文件内容我们可以知道SharedPreferences是以xml文件格式来存储数据的,当然如果我们通过SharedPreferences sp = getSharedPreferences("sp", MODE_PRIVATE);来获取SharedPreferences对象的话,那么上面SharedPreferences存储数据的文件名将会是sp.xml。
源代码下载: http://xmong.iteye.com/blog/1852204