我有一个偏好屏幕,我可以在其中更改一些设置。在代码中,我可以毫无问题地通过共享首选项编辑它们。
我有 2 个问题: - 当手机重新启动时,这些设置是否会保存在某个地方?- 我可以在 sharedprefs 中插入其他设置吗?我的意思是未在首选项屏幕中声明的设置。
我有一个偏好屏幕,我可以在其中更改一些设置。在代码中,我可以毫无问题地通过共享首选项编辑它们。
我有 2 个问题: - 当手机重新启动时,这些设置是否会保存在某个地方?- 我可以在 sharedprefs 中插入其他设置吗?我的意思是未在首选项屏幕中声明的设置。
当手机重新启动时,这些设置是否会保存在某个地方?
是的,它们保存在设备上的 xml 文件中。
我可以在 sharedprefs 中插入其他设置吗?
是的,您可以在 sharedprefs 中有很多设置,通过 PreferenceActivity 显示或修改的唯一设置是您在布局文件中设置的那些,它们的键将是布局文件中指定的键。
如前所述,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,具体取决于您希望其他应用程序如何访问您的应用程序首选项,这可能很有用