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();
}
}
通过类似的存储,可以保存当前手机应用的配置信息,很方便。