首页 > 代码库 > Android-SharedPreferences

Android-SharedPreferences

[返回目录]

SharedPreferences提供一种按“Key=value”的形式进行数据存储

android.content.SharedPreferences借口所保存的信息只能是一些基本的数据类型,如字符串,整形,布尔型等

SharedPreferences保存的是配置文件,文件后缀默认为 *.xml,跟Java中的Properties类一样(只能保存基本的数据类型

不能保存中文,中文需要转码

默认情况下,所有配置文件都保存在系统文件夹中,/data/data/包名/shared prefs下

Window->show View->Others->File Explorer可以查看系统文件夹


如:

<span style="font-family:SimHei;font-size:18px;">package com.example.testsharedpreferences;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;

public class MainActivity extends Activity {
	private final String FILENAME="potato"; //保存文件名,最后生成potato.xml文件
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);		
		SharedPreferences sharedPreferences=super.getSharedPreferences(FILENAME, Activity.MODE_PRIVATE);
		SharedPreferences.Editor edit=sharedPreferences.edit();
		edit.putString("name", "potato");
		edit.putInt("age", 22);
		edit.putBoolean("isStudent", true);
		edit.commit();
	
	}
}
</span>

在系统文件夹中的/data/data/ com.example.testsharedpreferences/shared prefs下会增加一个 potato.xml文件

其中,SharedPreferences中保存数据是通过SharedPreferences.Editor接口进行的


读取SharedPreferences的数据方法如下:

<span style="font-family:SimHei;font-size:18px;">package com.example.testsharedpreferences;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends Activity {
	private final String FILENAME="potato"; //保存文件名,最后生成potato.xml文件
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);		
		SharedPreferences sharedPreferences=super.getSharedPreferences(FILENAME, Activity.MODE_PRIVATE);

		Log.e("Potato", "Name:"+sharedPreferences.getString("name", "我是默认值"));
		Log.e("Potato", "Age:"+sharedPreferences.getInt("age", 1));
		Log.e("Potato", "isStudent:"+sharedPreferences.getBoolean("isStudent", false));
	
	}
}
</span>




Android-SharedPreferences