返回介绍

2 SharePreferences 基本使用实例

发布于 2024-12-23 21:33:34 字数 2132 浏览 0 评论 0 收藏 0

在 Android 提供的几种数据存储方式中 SharePreference 属于轻量级的键值存储方式,以 XML 文件方式保存数据,通常用来存储一些用户行为开关状态等,也就是说 SharePreference 一般的存储类型都是一些常见的数据类型(PS:当然也可以存储一些复杂对象,不过需要曲线救国,下面会给出存储复杂对象的解决方案的)。

在我们平时应用开发时或多或少都会用到 SharePreference,这里就先给出一个常见的使用实例,具体如下:

public class MainActivity extends ActionBarActivity {
  private SharedPreferences mSharedPreferences;
  private SharedPreferences mSharedPreferencesContext;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initTest();
  }

  private void initTest() {
    mSharedPreferencesContext = getSharedPreferences("Test", MODE_PRIVATE);
    mSharedPreferences = getPreferences(MODE_PRIVATE);

    SharedPreferences.Editor editor = mSharedPreferencesContext.edit();
    editor.putBoolean("saveed", true);
    Set<String> set = new HashSet<>();
    set.add("aaaaa");
    set.add("bbbbbbbb");
    editor.putStringSet("content", set);
    editor.commit();

    SharedPreferences.Editor editorActivity = mSharedPreferences.edit();
    editorActivity.putString("name", "haha");
    editorActivity.commit();
  }

运行之后 adb 进入 data 应用包下的 shared_prefs 目录可以看见如下结果:

-rw-rw---- u0_a84   u0_a84    108 2015-08-23 10:34 MainActivity.xml
-rw-rw---- u0_a84   u0_a84    214 2015-08-23 10:34 Test.xml

其内容分别如下:

at Test.xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
  <boolean name="saveed" value="true" />
  <set name="content">
    <string>aaaaa</string>
    <string>bbbbbbbb</string>
  </set>
</map>

at MainActivity.xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
  <string name="name">haha</string>
</map>

可以看见 SharePreference 的使用还是非常简单 easy 的,所以不做太多的使用说明,我们接下来重点依然是关注其实现原理。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文