Skip to content

Latest commit

 

History

History
59 lines (38 loc) · 4.19 KB

Sharedpreference.md

File metadata and controls

59 lines (38 loc) · 4.19 KB

Sharedpreferences

Sharedpreference采用键值对集合来保存数据,也就是说每保存一条数据的时候我们要提供一个对应的键,并且这种方式支持多种数据类型的存储。Sharedpreference提供了读写的便利方法。

获取SharedPreferences

大概有三种方法,分别如下:

注:SharedPreferences文件存放在/data/data/<package name>/shared_prefs目录下。

写Shared Preferences

为了写shared preferences文件,需要通过执行edit()创建一个SharedPreferences.Editor

通过类似putInt()putString()等方法传递keysvalues,接着通过commit() 提交改变.

	public final static String MESSAGE_NAME = "cn.zhouchaoyuan.firstapplication.MESSAGE";
	SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putString("package_name",MESSAGE_NAME);
    editor.commit();

通过上面的代码,我们运行,可以看到在DDMSfile explorer/data/data/<package name>/shared_prefs有MainActivity.xml文件,如下:
shared_xml
其中数据以键值对的形式明文存储在xml文件里面,如下:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
    <string name="package_name">cn.zhouchaoyuan.firstapplication.MESSAGE</string>
</map>

读Shared Preferences

为了从shared preference中读取数据,可以通过类似于getInt()getString(等方法来读取。在那些方法里面传递我们想要获取的value对应的key,并提供一个默认的value作为查找的key不存在时函数的返回值。如下:

	SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
    Log.e("zhouchaoyuan",sharedPreferences.getString("package_name","nothing"));

可以看到了logcat输入了红色的信息:
01-17 00:02:46.150 15957-15957/? E/zhouchaoyuan: cn.zhouchaoyuan.firstapplication.MESSAGE

还是见中文教学吧,详细。