5 回答

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個贊
共享首選項(xiàng):將私有原始數(shù)據(jù)存儲在鍵值對中。
內(nèi)部文件存儲:將應(yīng)用程序私有文件存儲在設(shè)備文件系統(tǒng)上。
外部文件存儲:將文件存儲在共享的外部文件系統(tǒng)上。這通常用于共享用戶文件,例如照片。
數(shù)據(jù)庫:將結(jié)構(gòu)化數(shù)據(jù)存儲在私有數(shù)據(jù)庫中。

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

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個贊
好吧,共享首選項(xiàng)也終于保存在內(nèi)部文件存儲中了。
Share preferences 就像鍵值對一樣,它會將數(shù)據(jù)保存在內(nèi)存中,最后由系統(tǒng)保存到內(nèi)部文件存儲中。

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