0

我有一个偏好屏幕,我可以在其中更改一些设置。在代码中,我可以毫无问题地通过共享首选项编辑它们。

我有 2 个问题: - 当手机重新启动时,这些设置是否会保存在某个地方?- 我可以在 sharedprefs 中插入其他设置吗?我的意思是未在首选项屏幕中声明的设置。

4

2 回答 2

1

当手机重新启动时,这些设置是否会保存在某个地方?

是的,它们保存在设备上的 xml 文件中。

我可以在 sharedprefs 中插入其他设置吗?

是的,您可以在 sharedprefs 中有很多设置,通过 PreferenceActivity 显示或修改的唯一设置是您在布局文件中设置的那些,它们的键将是布局文件中指定的键。

于 2012-08-30T21:08:50.460 回答
0

如前所述,SharedPreferences 是持久化的(写入 xml 文件),因此即使您重新启动它们也始终可用(只要您在属于 SharedPreference 的编辑器上调用 commit())。

至于将其他设置插入共享首选项,

如果您想要更有条理,您实际上可以拥有多个 SharedPreferences(在不同的文件中),但您绝对可以在其中保存您想要的任何内容。

要获取活动上下文的默认共享首选项:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);

要获取您创建的许多 SharedPreference 之一,请使用以下命令:

SharedPreferences prefs = context.getSharedPreferences(String name, int mode)

name 是文件模式的名称,模式为 MODE_PRIVATE、MODE_WORLD_READABLE、MODE_WORLD_WRITEABLE、MODE_MULTI_PROCESS,具体取决于您希望其他应用程序如何访问您的应用程序首选项,这可能很有用

于 2012-08-30T21:21:06.533 回答