我应该使用多个首选项文件还是只使用一个?

时间:2011-12-04 23:26:42

标签: android android-preferences

我想从三个独立的活动中共享用户配置数据。优点/缺点是什么? 一种方法优于另一种方法(使用单个Prefs文件或三个)?

我在想的是如果我使用一个,我会在主Activity中声明相同的const,一个la:

public static final String PREFS_NAME = "Pterodactyl"; //Activity 1

并使用getPreferences();

-OR:

我将在每个Activity中声明一个不同的const,一个la:

public static final String PREFS_NAME = "Pterodactyl";  //Activity 1
public static final String PREFS_NAME = "duckbilledPlatypus";  //Activity 2
public static final String PREFS_NAME = "yellowbelliedSapsucker";  //Activity 3

并使用getSharedPreferences();

是“六分之一,六分之一”还是其中一个“优于”另一个,为什么?

2 个答案:

答案 0 :(得分:4)

任何全局且与所有活动相关的偏好都将位于全局文件中。现在你应该创建多少个文件主要取决于你的口味。由于属性文件只包含名称/值对而没有分组,因此无论它们是否在一个文件中都无关紧要。

我建议使用单个全局文件进行设置,这会让您的生活变得轻松。使用以下api:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);

此处没有涉及文件名。因此,您可以在代码中没有任何首选项文件名。

关于特定于活动的文件,如果您有关于活动的属性要在会话中保留,例如您有要存储的滚动位置,请使用此选项,这样即使在关闭应用程序后回来也可以恢复它。

供参考:

http://developer.android.com/guide/topics/data/data-storage.html#pref

答案 1 :(得分:1)

我没有理由使用多个偏好文件;我只在我的应用程序中使用了一个活动。