2016-04-21 101 views
1

可能是一個愚蠢的問題,但MyPrefs1‘‘MyPrefs2’等我「使用SharedPreference有幾個不同的名字米’SharedPreferences名稱是否必須是唯一的?

我假設這如果其他一些應用嘗試僅限於我的應用程序。即使用相同的名稱,它不會覆蓋我的價值

我非常相信我的理解是正確的,但名稱「SharedPreferences」似乎表明它可以在應用程序之間共享嗎?(是否用於活動之間的共享? )

回答

3

這是正確的,SharedPreferences存儲在您的應用程序的私人文件夾中(確切地說,在/ data/data /您的軟件包名稱/ shared_prefs中)

你可以給他們任何你想要的名字。

+0

只有通過PreferenceManager.getDefaultSharedPreferences()獲得共享首選項時,情況纔是如此。 – natario

+0

@mvai請詳細說明如果我使用getSharedPreferences(MY_PREFS_JSON,Context.MODE_PRIVATE);用我自己的名字,這不是私人的? – zooter

+0

@zooter是的,它是私人的,因爲你使用了Context.MODE_PRIVATE。 – natario

1

SharedPreferences表示可以在您的應用程序的不同組件之間共享的偏好。您在應用程序中創建的SharedPreferences不會暴露於其他應用程序。 無論您使用的是PreferenceManager.getDefaultSharedPreferences()還是Context.getSharedPreferences("file_name", Context.MODE_PRIVATE);,這兩者都僅適用於您的應用程序。

注 - SharedPreferencesPreferences未暴露給其他應用程序。

相關問題