将数据存储到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; @Override protected 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() { @Override public 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() { @Override public 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); } }); } }