SharedPreferences主要用于存储系统的配置信息,如上一次登录的用户名,上一次最后设置的信息,保存上一次所做的修改或者自定义参数设定。SharedPreferences使用键值对方式进行存储。


通常使用SharedPreferences的步骤:


获取preferences:每个Activity默认都有一个SharedPreferences对象,有两种获取方法:

a.当应用程序使用到多个SharedPreferences时,使用

SharedPreferences getSharedPreferences(String name,int mode)方法,获取到指定name的 SharedPreferences对象和该对象的控制权。

b.当应用程序仅需要一个SharedPreferences对象时,使用

SharedPreferences getPreferences(int mode)方法获取当前Activity对应 的 SharedPreferences对象。

(其中mode有四种取值,在这里不详细介绍了)


2.调用edit()方法获取SharedPreferences.Editor。SharedPreferences使用该接口对其内容进行更新。


3.调用SharedPreferences.Editor的commit()方法,将更新内容提交到SharedPreferences中。




实例:在一个EditText里写一段文字,退出程序后再次打开文字还在。



MainActivity代码:


public class MainActivity extends Activity {


private EditText infotext;

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

infotext=(EditText)findViewById(R.id.infotext);

SharedPreferences setinfo=getPreferences(Activity.MODE_PRIVATE);

//获取sharedpreferences对象

String info=setinfo.getString("textinfo", "");

infotext.setText(info);

}


protected void onStop(){

SharedPreferences setinfo=getPreferences(Activity.MODE_PRIVATE);

setinfo.edit().putString("textinfo", infotext.getText().toString()).commit();

super.onStop();

}


}





通过类似的存储,可以保存当前手机应用的配置信息,很方便。