SharedPreferences

SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs/目录下。SharedPreferences对象本身只能获取数据而不支持存储修改,存储修改是通过Editor对象实现。

实现SharedPreferences存储的步骤如下:

1)根据Context获取SharedPreferences对象。

2)利用edit()方法获取Editor对象。

3)通过Editor对象存储key-value键值对数据。

4)通过commit()方法提交数据。

publicclass MainActivity extends Activity {
   @Override
       publicvoid onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.main);      
              //根据Context获取SharedPreferences对象
              Contextctx = MainActivity.this;      
              SharedPreferencessp = ctx.getSharedPreferences("SP", MODE_PRIVATE);
              //存入数据
              Editoreditor = sp.edit();
              editor.putString("STRING_KEY","string");
              editor.putInt("INT_KEY",0);
              editor.putBoolean("BOOLEAN_KEY",true);
              editor.commit();
              //返回STRING_KEY的值
              Log.d("SP",sp.getString("STRING_KEY","none"));
              //如果NOT_EXIST不存在,则返回值为"none"
              Log.d("SP",sp.getString("NOT_EXIST", "none"));
    }
}
这段代码执行过后,即在/data/data/com.android.test/shared_prefs/目录下生成了一个SP.xml文件。

SP.xml文件的具体内容如下:

<?xml version='1.0' encoding='utf-8'standalone='yes' ?>
<map>
       <stringname="STRING_KEY">string</string>
       <intname="INT_KEY" value="0"/>
       <booleanname="BOOLEAN_KEY" value="true"/>
</map>
在程序代码中,通过getXXX方法,可以方便的获得对应Key的Value值。如果key值错误或者此key无对应value值,SharedPreferences提供了一个赋予 默认值的机会,以此保证程序的健壮性。在上面程序的运行过程中,因为并无值为"NOT_EXIST"的Key,所以Log打印出的是其默认值:“none”。在访问一个不存在key值这个过程中,并无任何异常抛出。

你可能感兴趣的:(SharedPreferences)