2011-12-04 89 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

相關問題