繁体   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