SharedPreferences之Android数据保存



SharedPreferences之Android数据保存

本文参考Google官方文档http://developer.android.com/training/basics/data-storage/shared-preferences.html
在Android中最简单的数据保存方式就数——SharedPreferences。
如果你想要保存一些较小的键值对集合并且是简单的数据类型的话,使用SharedPreferences无疑是最好的选择,一个SharedPreferences对象指向的文件是一个包含键值对的XML文件,并且其本身提供了一些简单的方法供我们读写。其中SharedPreferences可以设置为私有和共享的。
第一步:获取SharedPreferences对象
1、通过getSharedPreferences(String name, int mode)方法返回一个SharedPreferences对象。如果name存在,则返回指向这个文件的SharedPreferences对象。如果name不存在,则创建新的文件,返回SharedPreferences对象。MODE是指文件的权限,常用的权限类型有三个:MODE_PRIVATE(私有–只能本程序访问)、MODE_WORLD_READABLE(公开读取权限–所有程序都可以读取)、MODE_WORLD_WRITEABLE(全局写权限–所有程序都能读写)。
2、通过getPreferences(int mode)方法返回SharedPreferences对象。这个SharedPreferences对象仅仅是当前Activity拥有,默认的name为当前Activity的类名。
第二步:获取SharedPreferences.Editor接口,实现对SharedPreferences的编辑
官方推荐:SharedPreferences文件命名推荐使用包名+名称,比如:”com.example.myapp.PREFERENCE_FILE_KEY”
[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片
SharedPreferences sp = this.getSharedPreferences(“mySharedPreferences”, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString(“username”, username);
editor.putString(“password”, password);
editor.commit();
第三步:读取SharedPreferences文件数据
读取数据和写数据是相对应的,通过方法getXxxx()将key-value中的数据取出。
[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片
SharedPreferences sp = MainActivity.this.getSharedPreferences(“mySharedPreferences”, Context.MODE_PRIVATE);
String username = sp.getString(“username”, “moocher”);
如果在SharedPreferences文件中没有找到USERNAME,默认会返回moocher值。

MainActivity.xml是通过getPreferences(int mode)方法创建的SharedPreferences文件。
mySharedPreferences.xml是通过getSharedPreferences(String name, int mode)方法创建的。