在android中跨类共享首选项

时间:2011-05-02 06:25:01

标签: java android android-emulator android-widget android-manifest

您好 我正在开发一个Android应用程序 如果用户第一次打开应用程序(刚刚安装),他就会获得条款和条件 如果他接受他获得注册屏幕 如果他注册,他将获得登录屏幕

然而,如果用户退出术语屏幕后,再次启动应用程序,他应该只获得注册屏幕而不是条款屏幕

我需要两个全局布尔变量,可以被应用程序中的所有类访问 我尝试过共享偏好但我无法跨课程分享它们 请任何人点亮。

感谢。

3 个答案:

答案 0 :(得分:2)

您可以使用BaseContext检索首选项:

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

来自项目中的任何Activity / Service / Receiver,您应该获得相同的首选项:您在一个类中所做的任何更改都将可用于所有其他类。

答案 1 :(得分:0)

检索共享偏好:

int mode = Activity.Activity.MODE_APPEND

SharedPreferences sp = getSharedPreferences(MYPREFS,mode);

//检索保存的值。

termPref = sp.getString(“terms”,“”);

答案 2 :(得分:0)

您可以通过传递上下文来检索任何类中的SharedPreferences。请参阅以下示例。

获取默认SharedPreferences     SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());

获取具有自定义名称的SharedPreferences

SharedPreferences prefs = getApplicationContext()。getSharedPreferences(" SharedPreferences_FileName",Context.MODE_PRIVATE);