安卓:如何在安装期间设置共享偏好设置?

9
Android提供类似的功能吗?还是每次启动我的应用程序时都要检查一遍,以确定是否需要初始化共享首选项?
3个回答

3

如果你依赖于某些关键值,检查偏好文件是否存在是个好主意。


好的,没错。然而,必须有一种方法将预定义的设置文件打包到apk文件中。 - OneWorld
据我所知,您只能构建一个初始化方法,该方法基本上使用您想要的值创建首选项文件。 - Octavian Helm
那么,我仍然需要将偏好设置放入程序代码中 ;( - OneWorld
1
还有一件事我想到了,就是你可以在预设值中包含一个 XML 文件,然后在初始化时解析它们。不过这意味着需要构建一个解析器。问题是,这样做是否值得努力? - Octavian Helm
我也考虑过这个问题。但是我发现必须有更方便的Android本地解决方案... - OneWorld
在Android上每次启动都检查用户偏好设置确实是个好主意。因为当应用程序被安装时,用户可以随时擦除“用户数据”。因此,这个答案会被标记。 - OneWorld

1
如果您担心用户可能会清除您的应用程序数据,请考虑在AndroidManifest.xml文件的标签中使用此标志:
android:manageSpaceActivity="path.to.your.activity"

然后,不再使用“清除数据”按钮,而是改为“管理空间”按钮。当用户点击该按钮时,您的活动将被调用。

通常情况下,您应该像Select0r提到的那样操作。所有其他“默认xml/…”都不值得您在维护项目时花费时间。


0

您可以从偏好设置中获取任何键/值对,并在方法调用中提供默认值,例如:prefValue = prefs.getString("prefName", "defaultValue");,无需初始化。
如果偏好设置中不存在该键(在此示例中为“prefName”),则将使用默认值。一旦您允许用户更改偏好设置,PreferencesActivity 将负责将更改后的值写回偏好设置。

这是一个关于 Android 偏好设置的好教程:
http://www.kaloer.com/android-preferences


我已经在使用它了。然而,我只是想知道如何在安装过程中设置它们。 - OneWorld
我对此很确定。这就是为什么我问安卓是否在他们的安装中提供了首选项设置。 - OneWorld

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接