除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下的.xml文件中。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。实现SharedPreferences存储的步骤如下:
一、根据Context获取SharedPreferences对象
二、利用edit()方法获取Editor对象。
三、通过Editor对象存储key-value键值对数据。
四、通过commit()方法提交数据。
SharedPreferences主要是通过下面代码实现数据存储的。
SharedPreferences sharedPreferences = getSharedPreferences("itcast", Context.MODE_PRIVATE); Editor editor = sharedPreferences.edit();//获取编辑器 editor.putString("name", "张三"); editor.putInt("age",14); editor.commit();//提交修改
这里得到SharedPreferences 对象后,必须获得它的编辑器才能进行数据存储。其中commit()方法是必须写的,否则数据保存不进去。
SharedPreferences通过下面代码实现对数据的获取。
SharedPreferences sharedPreferences = getSharedPreferences("itcast", Context.MODE_PRIVATE); //getString()第二个参数为缺省值,如果preference中不存在该key,将返回缺省值 String name = sharedPreferences.getString("name", ""); int age = sharedPreferences.getInt("age", 1);
其中 itcast 设置的是存储信息的xml文件名,Context.MODE_PRIVATE设置的此文件属性(私有的), 如果访问其他应用中的Preference,前提条件是:该preference创建时指定了
Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE权限。