0

我有一个具有许多用户偏好的 Android 应用程序。一些首选项是自定义的,这意味着一个Preference类会稍微修改一个值。大多数首选项都有默认值,这些默认值是通过调用来应用的,以PreferenceManager.setDefaultValues()尊重此类自定义首选项。我的应用程序有许多常见的使用场景,但目前首选项默认值仅涵盖其中一种。我想问一个用途,她更喜欢哪种场景。但我不知道如何根据用户选择以同样干净简单的方式应用默认值。有任何想法吗?

更新

默认值应仅在第一次运行时应用。询问用户他计划如何使用应用程序,并根据他的回答应用默认值。他稍后将能够单独调整每个设置,因此以后没有理由重新应用默认设置。而且这只是对没有经验的用户的帮助,它是必需的,因为我收到反馈说某些设置在没有持续经验的情况下并不明显。

4

1 回答 1

0

我认为主要问题是,用户何时应该允许应用特定于用例的默认值(最初,任何时候?),以及他期望何时应用它们(切换回来是否有意义?等)。

我假设随着时间的推移收集的任何基础数据可能存在依赖关系,并且用户希望保留这些数据。

如果您打算支持如此复杂的情况,那么我会将模型视为三层:一组特定于用例的默认值,一组应用的特定于用例的更改,以及最终投影(默认值)被调整覆盖)。这里的目的是用户可以切换回他的原始用例而不会丢失个性化设置。

只是最初的想法,没有更深入地了解您的应用程序的性质。

更新

根据您的说明,我的建议是每个用例使用一个首选项文件并调用PreferenceManager.setDefaultValues(Context, String, int, int, boolean)

于 2013-01-22T11:47:30.233 回答