数据的持久化技术(二)SharedPreferences

    xiaoxiao2021-03-25  133

    SharedPreferences是使用键值对的方式来存储数据的,当保存一条数据的时候,提供一个对应的键,当要取数据的时候就通过键来把对应的值取出来。SharedPreferences支持多种数据类型存储,数据以什么类型存储,取得还是什么类型,比如,存的是字符串类型的,那么读出来的还是字符串类型的。

    存储

    使用SharedPreferences来存储数据,需要先获取SharedPreferences对象,Android提供了三种获取对象的方式:

    Content类的getSharedPreferences()方法,这个方法接收两个参数。第一个是参数文件名,文件之默认存放在/data/data/<packagename>/shared_prefs/目录下的;第二个参数是文件的操作模式,MODE_PRIVATE覆盖,MODE_APPEND追加 两种。Activity类中的getPreferences(),这个方法值接收一个参数,就是文件的操作模式,MODE_PRIVATE和MODE_APPEND。文件名是自动使用当前活动的类名。例:MainActivity.xmlPreferenceManager类中的getDefaultSharedPreferences(),这个方法是一个静态类,只接收一个Content参数,文件名是使用当前包名为前缀来命名。例:com.example.sharedpreferencestest_preferences.xml

    得到SharedPreferences对象后,就可以开始存储数据了,主要有三步:

    通过SharedPreferences对象的edit()方法来获取SharedPreferences.Editor对象。向SharedPreferences.Editor对象中添加数据。例如:putString(),putInt().调用commit()方法提交完成数据的存储 //获取SharedPreferences.Editor对象 SharedPreferences.Editor editor = getSharedPreferences("data", MODE_PRIVATE).edit(); SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit(); //使用SharedPreferences.Editor对象添加数据 editor.putString("name", "Rancvl"); editor.putInt("age", 20); editor.putBoolean("married", false); //调用commit()方法将添加的数据提交,完成存储操作 editor.commit();

    读取数据

    从SharedPreferences文件中读取数据就更简单了,首先获取到getSharedPreferences()对象,然后调用get方法,如果是获取String类型的,就用getString()方法,布尔型的就用getBoolean()方法。get方法接收两个参数,一个是键,一个是默认的值,即如果找不到键相对应的值,会以什么样的默认值返回。

    SharedPreferences pref = getSharedPreferences("data", MODE_PRIVATE); String name = pref.getString("name", ""); int age = pref.getInt("age", 0); Boolean married = pref.getBoolean("married", false);
    转载请注明原文地址: https://ju.6miu.com/read-15521.html

    最新回复(0)