2011-12-04 90 views
4

我想分享来自三个独立活动的用户配置数据。对另一种方法(使用单个Prefs文件或三个文件)有什么优势/劣势 ?我应该使用多个首选项文件还是仅使用一个?

我在想什么是,如果我用一个,我会宣布在主要活动相同常量,一拉:

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

和使用的getPreferences();

-OR:

我将声明中的每个活动不同的常量,一拉:

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();

它是“其中一个和另一半是6个”还是其中一个“优于”另一个,为什么?

+1

+1,为你的喜好的名字:) – Guillaume

回答

4

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

我建议设置一个全球性的文件,它使你的生活很容易。使用下面的api:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 

没有文件名涉及它。因此,您可以在代码中没有任何首选项文件名的情况下生活。

关于活动的具体文件,使用此当你有关于活动要跨会话保留像你滚动位置存储,这样,当你回来,即使关闭应用程序后,就可以恢复它的属性。

参考:

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

1

我看不到使用多个首选项文件的原因;我在我的应用程序中使用了所有的活动。

+0

我也不是。看到这样的情景后,我可能会改变主意,但现在什么都没有。 – davidcesarino

相关问题