【问题标题】:SharedPreferences on androidAndroid 上的 SharedPreferences
【发布时间】:2011-12-14 05:38:21
【问题描述】:

我的SharedPreferences 和我的PreferenceActivity 有问题。我需要我的应用程序可以区分不同的偏好和用户,所以每个用户都有自己的偏好。我想在使用 SharedPreferences 时向它发送用户 ID 以获得正确的选项。问题是我不知道如何为我的 PreferenceActivity 使用该特定选项。目前,它正在使用上下文选项,所以当我重新启动我的应用程序时,它会加载最后修改的选项......

如何配置我的preferenceActivity 以将他的更改存储在我想要的sharedpreferences 中?至于负载?

谢谢!

【问题讨论】:

    标签: android sharedpreferences preferenceactivity


    【解决方案1】:

    在 Android 上支持“用户”的概念并不常见 - 大多数应用都假设手机只有一个用户。

    也就是说,您可以像这样创建自定义 SharedPreferences

    SharedPreferences userprefs = getSharedPreferences(username,MODE_WORLD_READABLE);
    

    对于您的 PreferenceActivity,您可以在 onCreate 中执行此操作

    getPreferenceManager().setSharedPreferencesName(username);
    

    希望对您有所帮助...

    【讨论】:

    • 它不工作。会是什么?偏好活动不工作
    • 我从我自己的 PreferenceActivity 复制了该代码,该代码完全使用该代码(您在创建 PreferenceActivity 之前初始化用户名 - 是吗??)如果您在模拟器(或有根电话)上运行您的应用程序,您可以使用 DDMS 文件浏览器查看首选项 XML 文件,并检查它们是否被正确创建和更新。它们被命名为 data\data\preferences\YOURPACKAGENAME\preferencesname.xml
    【解决方案2】:

    这可能有点晚了,但您也可以查看Swarm's Cloud Data,它提供存储在云中的每个用户的 SharedPreferences 系统(因此,如果用户切换设备,他们的偏好会在新设备上保留)。

    【讨论】:

      猜你喜欢
      • 2018-05-29
      • 1970-01-01
      • 1970-01-01
      • 2021-07-25
      • 1970-01-01
      • 2012-03-05
      • 2012-09-06
      • 2011-09-07
      • 2014-05-16
      相关资源
      最近更新 更多