(一)开始____6、保存数据——保存键 - 值集

目录

 [隐藏

Saving Key-Value Sets

如果想保存一个相对较小的key-values集合,可以使用 SharedPreferences API. SharedPreferences对象指向包含key-value对的文件,并且提供简单的读写方式。每个SharedPreferences文件均由框架管理,私人或共享均可使用。
本课程将告诉你如何使用SharedPreferences API来存储和检索简单数值。

对SharedPreferences进行处理

您可以创建新的共享首选项文件,或者采取两种方式之一来调用现有文件。
  1. getSharedPreferences() 如果需要多个确定名称的共享首选项文件,且这些文件用第一个参数来指定。你可以从应用程序的任何 Context调用这一函数。
  2. getPreferences() 如果活动只需要一个共享首选项文件,就可以使用该方法。由于检索属于活动的默认共享首选项文件,所以不需要提供名称。

例如下面的代码在一个片段内执行。它访问了由资源字符串R.string.preference_file_key标识的共享首选项文件,并且使用私密模式打开该文件,这样只有你的应用程序才能访问这一文件。

Context context = getActivity();
SharedPreferences sharedPref = context.getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE);
当命名共享首选项文件时,你要使用应用程序唯一可识别的名称,比如"com.example.myapp.PREFERENCE_FILE_KEY"。
另外如果你只需要一个活动的共享首选项文件,就可以使用getPreferences()方式:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);

Write to Shared Preferences

要写入一个共享首选项文件,需要调用SharedPreferences上的edit()来创建SharedPreferences.Editor。
Pass the keys and values you want to write with methods such as putInt() and putString()。然后调用commit()来保存更改,例如:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();

Read from Shared Preferences

从共享首选项文件中检测值,可以使用getInt() 、 getString()等调用方法来提供你想要的关键值,当键不存在时会返回任意默认值。例如:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
int defaultValue = getResources().getInteger(R.string.saved_high_score_default);
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue);

 

 
posted @ 2014-07-29 15:35  ╰→劉じ尛鶴  阅读(169)  评论(0)    收藏  举报