Android Studio 全局静态变量可从多个活动访问



在安卓工作室中,我想要一个静态(不变(变量,我可以从多个活动中获得。我的应用程序有几个活动:

  1. 登录活动
  2. 主页 活动
  3. 次级活动1
  4. 次级活动2
  5. 次级活动3

在这些活动中,我需要检查一个值以根据值执行不同的代码。就我而言,它是一个设备地址。我在两个地方使用此设备地址,因此,目前在两个单独的位置定义它。我知道这是一种不正确的做法。因此,我想定义一次并从两个活动(例如家庭活动和子活动 1(访问它。

我想知道我可以在哪里定义这个变量,然后如何包含它。 变量的一个例子是: 私有字符串 Device_Address = ">

XX:XX:XX:XX:XX:XX:XX";一个想法是我是否应该将其从主活动变成公共静态变量,然后将变量导入子活动?

谢谢

在应用程序类中声明可验证

public class App extends Application
{
private boolean isActive= false;
public boolean getisActive() {
return isActive;
}
public void setisActive(boolean _isActive) {
this.isActive= _isActive;
}
}

和用法是

App.getInstance().getisActive()

在清单中注册应用

<application
android:name=".App"

为此可以使用全局静态类。您将能够从任何地方访问该类,并且它不绑定到活动。

public class Constants {
public static final String DeviceAddress = "XX:XX:XX:XX:XX:XX";
}

第一个答案可能适合您,但在生产环境中(您将拥有许多持久数据对象,由多个上下文使用(,我建议使用 MVVM 模式和 Dagger。

您的活动将具有不同的视图模型,这些模型可以保存对某个单例存储库的引用(您将自己实现它并注入它以使用 Dagger 查看模型(。

存储库本身将被设计为提供或存储数据,这些数据可以从数据库、共享首选项等中检索。您的变量也可以存储在那里。

相关内容

  • 没有找到相关文章

最新更新