簡體   English   中英

如何使用Android中的SharedPreferences在同一活動中保存和檢索數據

[英]how to save & retrieve data in the same activity with SharedPreferences in Android

我是Android平台的新手。 請解決我的查詢“如何使用Android中的SharedPreferences在同一活動中保存和檢索數據”

這個鏈接包含了所有內容: http : //developer.android.com/guide/topics/data/data-storage.html

基本上就像:

   // Restore preferences
   SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);

   // Get one Setting
   boolean silent = settings.getBoolean("silentMode", false);

許多應用程序可以提供一種捕獲用戶對特定應用程序或活動的設置的偏好的方法。 為了支持這一點,Android提供了一組簡單的API。

首選項通常是名稱值對。 可以將它們作為“共享首選項”存儲在應用程序中的各種活動中(請注意,當前無法跨進程共享)。 也可能是需要針對某個活動進行存儲的東西。

  1. 共享首選項:共享首選項可由應用程序中的所有組件(活動,服務等)使用。

  2. 活動處理的首選項:這些首選項只能在活動中使用,而應用程序的其他組件則不能使用。

共享首選項:

共享首選項通過Context類的getSharedPreferences方法進行管理。 首選項存儲在默認文件(1)中,或者您可以指定用於引用首選項的文件名(2)。

(1)指定文件名時如何獲取實例

public static final String PREF_FILE_NAME = "PrefFile";
   SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);

MODE_PRIVATE是首選項的操作模式。 這是默認模式,表示創建的文件將僅由調用應用程序訪問。 支持的其他兩種模式是MODE_WORLD_READABLEMODE_WORLD_WRITEABLE MODE_WORLD_READABLE其他應用程序可以讀取創建的文件,但不能對其進行修改。 對於MODE_WORLD_WRITEABLE其他應用程序也對創建的文件具有寫權限。

(2) 建議的方式是使用默認模式,而不指定文件名

SharedPreferences preferences = PreferencesManager.getDefaultSharedPreferences(context);

最后,一旦有了首選項實例,就可以從首選項中檢索存儲的值

 int storedPreference = preferences.getInt("storedInt", 0);

要將值存儲在首選項文件中,必須使用SharedPreference.Editor對象。 EditorSharedPreference類的嵌套接口。

SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();

編輯器還支持remove()clear()以從文件中刪除首選項值。

活動偏好設置:

共享的首選項可以由其他應用程序組件使用。 但是,如果您不需要與其他組件共享首選項,並且想要擁有活動私有首選項。 您可以借助活動的getPreferences()方法來實現。 getPreference方法將getSharedPreferences()方法與活動類的名稱一起用作首選項文件名。

以下是獲取首選項的代碼

SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);

存儲值的代碼也與共享首選項的情況相同。

SharedPreferences preferences = getPreference(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();

您還可以使用其他方法,例如將活動狀態存儲在數據庫中。 注意Android還包含一個名為android.preference的軟件包。 程序包定義用於實現應用程序首選項UI的類。

要查看更多示例,請查看開發人員網站上Android的數據存儲文章。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM