SharedPreferences存储详解

来源:互联网 发布:中国网络电视台tv版 编辑:程序博客网 时间:2024/06/08 16:13

将数据存储到SharedPreferences中:

getSharedPreferences(文件名, 文件的操作模式);

MODE_PRIVATE:只有当前的应用程序才可以对这个SharedPreferences文件进行读写

MODE_MULTI_PROCESS:一般是用于会有多个进程中对同一个SharedPreferences文件进行读写的情况

得到SharedPreferences对象后,开始向SharedPreferences文件中存储数据,主要分为三步实现:

1.      调用SharedPreferences对象的edit()方法来获取一个SharedPreferences.Editor对象.

2.      像SharedPreferences.Editor对象中添加数据,比如添加一个布尔型数据就使用putBoolean方法,添加一个字符串则使用putString()方法,以此类推.

3.      调用commit()方法将添加的数据提交,从而完成数据存储操作

通过getSharedPreferences()方法指定SharedPreferences的文件名为data,并得到了SharedPreferences.Editor对象

向这个对象选中添加不同类型的数据

调用commit()方法进行提交

从SharedPreferences中读取数据:

SharedPreferences对象中提供了一系列的get方法用于对存储的数据进行读取,每种get方法都对应了SharedPreferences.Editor中的一种put方法,比如读取一个布尔型数据就使用getBoolean()方法,读取一个字符串就使用getString()方法.这些get方法都接收两参数,第一个参数是键,传入存储数据时时使用的键就可以得到相应的值了,第二个参数是默认值,即表示当传入的键找不到对应的值时,会以什么样的默认值进行返回.

package com.jia.sharedpreferencestest;import android.app.Activity;import android.content.SharedPreferences;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {private Button saveData;private Button restoreData;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);saveData = (Button) findViewById(R.id.save_data);restoreData = (Button) findViewById(R.id.restore_data);saveData.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {SharedPreferences.Editor editor = getSharedPreferences("data",MODE_PRIVATE).edit();// 通过getSharedPreferences()方法指定SharedPreferences的文件名为data,并得到了SharedPreferences.Editor对象editor.putString("name", "yaojiawei");// 向这个对象选中添加不同类型的数据editor.putInt("age", 26);editor.putBoolean("married", false);editor.commit();// 调用commit()方法进行提交}});restoreData.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {SharedPreferences pref = getSharedPreferences("data",MODE_PRIVATE);// 通过getSharedPreferences()方法得到了SharedPreferences对象String name = pref.getString("name", "");int age = pref.getInt("age", 0);boolean married = pref.getBoolean("married", false);Log.d("jia", "name------>" + name);Log.d("jia", "age------->" + age);Log.d("jia", "married-------->" + married);}});}}


2 0