Android 中 getDefaultSharedPreferences 和 getSharedPreferences 的區別


什麼是 Android 中的 Sharedpreferences?

SharedPreferences 是 Android 框架中的一個介面,允許你儲存和檢索基本資料型別的鍵值對。SharedPreferences 是 Android 用於儲存使用者偏好的方式,例如使用者選擇的主題,或是否啟用聲音。這些資料儲存在 XML 檔案中,並且可以被應用程式中的多個活動訪問。

在活動級別儲存資料

在開發 Android 應用程式時,如果你想在活動級別儲存/訪問資料,則可以使用 getPreferences。

這兩種方法的主要區別在於它們如何檢索 SharedPreferences 例項,即我們只需要在 getSharedPreferences 中傳遞 fileName 引數,而無需在 getDefaultSharedPreferences 中傳遞。

什麼是 Android 中的 getDefaultSharedPreferences()?

getDefaultSharedPreferences() 檢索屬於應用程式包的預設 SharedPreferences 檔案。這意味著該檔案只能在應用程式內訪問,並且可以在活動之間甚至整個應用程式中使用。

在應用程式級別(預設)儲存資料

這也是應用程式級別的 Shared Preference。唯一的區別是預設檔案在應用程式級別維護,並使用一些預設的 Shared Preference 檔名。

getDefaultSharedPreferences() ”初始化程式碼

SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);

什麼是 Android 中的 getSharedPreferences()?

getSharedPreferences() 允許你透過傳入名稱引數來指定特定的 SharedPreferences 檔案。這意味著你可以在應用程式中擁有多個 SharedPreferences 檔案,並且每個檔案可以儲存不同的鍵值對集。

getSharedPreferences() 方法接受兩個引數:SharedPreferences 檔案的名稱,以及開啟檔案的模式。該模式決定了其他應用程式或程序如何訪問該檔案。在上面的示例中,模式設定為 MODE_PRIVATE,這意味著該檔案只能由呼叫應用程式訪問。

使用 getSharedPreferences() 在應用程式級別儲存資料

在開發 Android 應用程式時,有時我們必須在不同的活動中訪問資料,此時我們必須將 shared Preference 資料放置在活動之外。使用此技術,我們必須在多個 shared preference 檔案中維護資料。

我們可以使用“ getSharedPreferences() ”方法在多個共享首選項中儲存/訪問資料。在此方法中,我們必須將檔名作為引數傳遞。

getSharedPreferences() ”初始化程式碼

SharedPreferences sharedPref = context.getSharedPreferences("my_prefs", Context.MODE_PRIVATE);

這兩種方法的主要區別在於它們如何檢索 SharedPreferences 例項。getDefaultSharedPreferences() 檢索屬於應用程式包的預設 SharedPreferences 檔案。這意味著該檔案只能在應用程式內訪問,並且可以在活動之間甚至整個應用程式中使用。

訪問 Shared Preferences 的各種模式

以下是訪問 Shared Preferences 的一些模式

  • MODE_PRIVATE −顧名思義,該模式是私有的,即它維護安全性。你只能透過呼叫應用程式來訪問 Shared Preferences

  • MODE_APPEND −這會將新的 Preferences 與已存在的 Preferences 連線起來。

  • MODE_WORLD_WRITEABLE −在此模式下,其他應用程式可以寫入你的 Shared Preferences。

  • MODE_WORLD_READABLE −在此模式下,其他應用程式可以讀取你的 Shared Preferences。

Android 中 getDefaultSharedPreferences() 和 getSharedPreferences() 的區別

getDefaultSharedPreferences() 方法

getSharedPreferences() 方法

此方法用於獲取與應用程式包名稱關聯的 SharedPreferences 物件

此方法用於以指定的執行模式訪問命名檔案。

它可以用於獲取與活動關聯的預設共享首選項檔案。

它允許你自定義檔名。

它提供了一個預設檔名,即應用程式的包名稱。

它接受兩個引數,一個是檔名,另一個是執行模式。

它返回應用程式的預設共享首選項。

它返回給定檔名的共享首選項。

結論

總之,“getDefaultSharedPreferences()”檢索整個應用程式的預設 SharedPreferences 檔案,而“getSharedPreference()”允許你指定自定義檔名和訪問模式。

更新於: 2023年5月9日

927 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.