5 回答

TA貢獻1155條經驗 獲得超0個贊
共享首選項:將私有原始數據存儲在鍵值對中。
內部文件存儲:將應用程序私有文件存儲在設備文件系統上。
外部文件存儲:將文件存儲在共享的外部文件系統上。這通常用于共享用戶文件,例如照片。
數據庫:將結構化數據存儲在私有數據庫中。

TA貢獻1836條經驗 獲得超3個贊
如果您以這種方式創建它:
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
它在內部存儲中,實際上,這是它保存的路徑:
/data/data/PACKAGE_NAME/shared_prefs/MY_PREFS_NAME.xml

TA貢獻1816條經驗 獲得超6個贊
好吧,共享首選項也終于保存在內部文件存儲中了。
Share preferences 就像鍵值對一樣,它會將數據保存在內存中,最后由系統保存到內部文件存儲中。

TA貢獻1826條經驗 獲得超6個贊
共享首選項不能被任何人或任何東西(機器人等)訪問,因為它是內部應用程序存儲。這也是您可以在其中存儲某些類型的原因。但是,這并不意味著您的手機中不存在該文件。正如@Ali 指出的那樣,它存在于此處:
/data/data/PACKAGE_NAME/shared_prefs/MY_PREFS_NAME.xml
如果您的 SharedPreferences 名為MY_PREFS_NAME。您還會注意到它們的存儲類型不同,MODE_PRIVATE、MODE_APPEND 等。有關更多信息,請參閱此鏈接(它詳細介紹了所有模式):https://developer.android.com/reference/android/content/Context
還有共享首選項:https://developer.android.com/reference/android/content/SharedPreferences
獲得它的方法是:
SharedPreferences storage = getSharedPreferences(MY_PREFS_NAME, Context.MODE_PRIVATE);
storage.putString(ID, VALUE);
storage.apply(); //Same the Value
這是如果您想從共享首選項(內部存儲)中獲取值。如果你想存儲任何東西,你可以這樣做(@Ali 已經寫過這個):
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor.getString(ID, VALUE_TO_RETURN_IF_KEY_NOT_FOUND);
添加回答
舉報