android数据存储之SharedPreferences

android数据存储之SharedPreferences

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的数据存储文件,导出该文件内容如下:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="name">xmong</string>
<int name="age" value="20" />
</map>

通过文件内容我们可以知道SharedPreferences是以xml文件格式来存储数据的,当然如果我们通过SharedPreferences sp = getSharedPreferences("sp", MODE_PRIVATE);来获取SharedPreferences对象的话,那么上面SharedPreferences存储数据的文件名将会是sp.xml。

源代码下载: http://xmong.iteye.com/blog/1852204


猜你喜欢

转载自xmong.iteye.com/blog/1852342