簡體   English   中英

android 中的跨類共享首選項

[英]Sharing preferences across classes in android

嗨,我正在開發一個 android 應用程序,如果用戶第一次打開應用程序(剛剛安裝),如果他接受如果他注冊,他會得到注冊屏幕,他會得到條款和條件,他會得到登錄屏幕

但是,如果用戶在條款屏幕后退出,如果應用程序再次啟動,他應該只看到注冊屏幕而不是條款屏幕

我需要兩個全局 boolean 變量,應用程序中的所有類都可以訪問它們我嘗試了 sharedpreferences 但我無法跨類共享它們任何人都請稍加說明。

謝謝。

您可以使用 BaseContext 檢索首選項:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());

從項目中的任何活動/服務/接收器內部,您應該獲得相同的偏好:您在一個 class 中所做的任何更改都將可用於所有其他類。

您可以通過傳遞上下文來檢索任何 class 中的SharedPreferences 請參閱以下示例。

獲取默認SharedPreferences SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());

使用自定義名稱獲取您的SharedPreferences

SharedPreferences 首選項 = getApplicationContext().getSharedPreferences("SharedPreferences_FileName", Context.MODE_PRIVATE);

檢索共享首選項:

int 模式 = Activity.Activity.MODE_APPEND

SharedPreferences sp = getSharedPreferences(MYPREFS,mode);

// 檢索保存的值。

termPref = sp.getString(“條款”,“”);

暫無
暫無

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

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