亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SharedPreferences 是外部存儲還是內部存儲?

SharedPreferences 是外部存儲還是內部存儲?

ibeautiful 2023-03-31 17:16:25
其實,這個問題是在采訪中被問到的。首先,面試官問是不是SharedPreference一種存儲方式,然后是存儲在外部還是內部。我完全糊涂了,因為我已經研究過android中的四種存儲數據。
查看完整描述

5 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

共享首選項是內部存儲。



查看完整回答
反對 回復 2023-03-31
?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

  • 共享首選項:將私有原始數據存儲在鍵值對中。

  • 內部文件存儲:將應用程序私有文件存儲在設備文件系統上。

  • 外部文件存儲:將文件存儲在共享的外部文件系統上。這通常用于共享用戶文件,例如照片。

  • 數據庫:將結構化數據存儲在私有數據庫中。


查看完整回答
反對 回復 2023-03-31
?
米脂

TA貢獻1836條經驗 獲得超3個贊

如果您以這種方式創建它:

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();

它在內部存儲中,實際上,這是它保存的路徑:

/data/data/PACKAGE_NAME/shared_prefs/MY_PREFS_NAME.xml


查看完整回答
反對 回復 2023-03-31
?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

好吧,共享首選項也終于保存在內部文件存儲中了。

Share preferences 就像鍵值對一樣,它會將數據保存在內存中,最后由系統保存到內部文件存儲中。


查看完整回答
反對 回復 2023-03-31
?
躍然一笑

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);


查看完整回答
反對 回復 2023-03-31
  • 5 回答
  • 0 關注
  • 235 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號