Android - 全局变量?

2024-02-08

我需要在我的应用程序中存储一些数据。 我知道我可以这样做:

class:

public class MyApplication extends Application {

    private String someVariable;

    public String getSomeVariable() {
        return someVariable;
    }

    public void setSomeVariable(String someVariable) {
        this.someVariable = someVariable;
    }
}

执行:

MyApp appState = ((MyApp)getApplicationContext());
String state = appState.getSomeVariable();

如果我正在参加活动,这很有效。

但是,如果我所在的类不是从 Activity 扩展的,我如何访问我的数据?

在此先感谢您的帮助!


您可以使用单例设计模式。然后您可以在任何地方使用它,因为它具有静态访问权限。

public class SingletonClass {
private static SingletonClass _instance = null;
private int _value = 0;

private SingletonClass() {
}

public static SingletonClass getInstance() {
    if (_instance == null)
        _instance = new SingletonClass();
    return _instance;
}

public int getValue() {
    return _value;
}

public void setValue(int value) {
    _value = value;
}

}

然后像这样访问它:

SingletonClass.getInstance().getValue();

注意:对于某些编程问题来说,这是一个很好且简单的解决方法,但是要非常明智地使用它......它伴随着它的问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android - 全局变量? 的相关文章

随机推荐

  • 无法获取 Flask 应用程序中设置的环境变量

    我尝试在 CentOS 中将敏感信息设置为环境变量 并将它们传递给主文件中使用的 Flask 配置文件 即init py 但这没有用 Flask 应用程序在 Apache 下运行 我首先以 root 用户身份编辑 etc environme
  • 使用 LLVM C API 生成对内部函数的调用

    我正在编写一些使用 LLVM C API 的代码 如何使用内在函数 例如llvm cos f64 or llvm sadd with overflow i32 每当我尝试通过生成一个全局来做到这一点LLVMAddGlobal 具有正确的类型
  • 如何使用ExternalTask​​Sensor触发Airflow DAG独立运行

    我构建了两个 DAG dag a dag b 并在 dag b 中创建了一个刺探 dag a 的ExternalTask Sensor 这些 DAG 有两个用例 同时调度dag a和dag b 并使用依赖关系先处理dag a 然后处理dag
  • SwiftUI 2 弹出到根视图,没有场景委托

    我想在用户注销时刷新根视图 但我找不到如何在新的无场景 SwiftUi 2 下执行此操作 Next is 瑞士马克 https stackoverflow com questions 63461933 swiftui how to chan
  • 将纬度和经度转换为十进制值

    我的 GPS 信息以以下形式呈现 北纬 36 57 9 西经 110 4 21 我可以使用Chris Veness 的 javascript 函数 http www movable type co uk scripts latlong ht
  • Golang,goroutines:恐慌:运行时错误:无效的内存地址

    我对 golang 相当陌生 并试图理解主要原理并使用通道编写基于 gouroutines 的代码 在我使用的其他语言中没有这样的工具 我想知道是否会出现诸如恐慌之类的错误 我的代码 package main import fmt impo
  • jQuery getJSON 不适用于已删除的抽搐频道

    我正在尝试制作一个抽搐频道列表 显示谁在线 离线 并显示该人已删除该帐户的消息 问题是 如果人员帐户不再存在 即使请求返回带有几个属性的 JSON 文件 getJSON 方法内部也不会起作用 代码笔 http codepen io Zach
  • 使用 C# 测量 TCP 上的数据传输速率

    我想测量当前的下载速度 我正在通过 TCP 发送巨大的文件 我怎样才能捕获每秒的传输速率 如果我使用 IPv4InterfaceStatistics 或类似方法 我将捕获设备传输速率 而不是捕获文件传输速率 捕获设备传输速率的问题在于 它捕
  • 自连接查询

    考虑下表 mysql gt select from phone numbers number type person id 17182225465 home 1 19172225465 cell 1 12129876543 home 2 1
  • android中ListView无法点击?

    我使用联系人同步制作了一个应用程序 我列出了以下联系信息 包括照片 姓名和电话号码 我成功地在自定义中列出了所有这些内容ListView 但我无法点击ListView 看起来像是被锁定了 无法点击 但我对另一项活动做了同样的程序 使用自定义
  • 在 LINQ 中对集合的集合进行交集

    我有一个要相交的列表列表 List
  • Hibernate JPA ManyToOne 复合键

    我正在尝试设置我的实体以允许 pks 我的数据库由两个字段组成 Dealer detail id pk user detail id pk 两者都根据相应表中的 id 进行连接 到目前为止我已经尝试过但没有成功 Embeddable pub
  • Git Pull 请求没有更改,但 git diff 显示更改

    我的分支机构有问题 介绍 我的项目有 3 个分支 Dev Main 和 Staging On Dev分支我们添加新功能 Main我们修复错误的分支Staging我们部署用于测试 当 Bug PullRequest 完成时Main分支 我们发
  • 使用 VSTS 和 Azure 时正确管理应用程序设置

    如果使用 VSTS 和 Azure 有两种不同的方法来管理应用程序设置 请记住 这只是用于持续部署的工具的示例 您可以覆盖 VSTS 中 CD 管道中的 JSON 文件 旧系统中的 Web 配置 也可以覆盖 Azure 应用程序设置 部分中
  • ElasticSearch——根据字段值提高相关性

    需要在 ElasticSearch 中找到一种方法来根据字段的特定值提高文档的相关性 具体来说 我的所有文档中有一个特殊字段 该字段值越高 包含该字段的文档就越相关 无论搜索如何 考虑以下文档结构 all enabled true prop
  • 如何在 React-Native (JavaScript) 中显示文本更多/更少

    我正在开发反应本机应用程序 在其中 我们展示了一些描述Text 可能是行数 因此 如果数据超过 3 行 如果扩展 我必须显示更多和更少
  • 如何将 (mxn) 维的 Numpy 数组展开为单个向量

    我只想知道是否有将 numpy 数组展开为单个向量的捷径 例如 将以下 Matlab 代码转换为 python Matlab方式 A 零 10 10 A unroll A 预先感谢 这是你的想法吗 编辑 正如 Patrick 指出的 将 A
  • 有没有办法显示密码执行计划?

    我看到过一个话题 了解 Neo4j Cypher Profile 关键字和执行计划 https stackoverflow com questions 17760627 understanding neo4j cypher profile
  • 是否可以在 p:columns 标签内使用 p:cellEditor?

    我有一个 primefaces 数据表 可以动态获取其列 我希望它的单元格可以使用 primefaces cellEditor 进行编辑 如图所示here http www primefaces org showcase ui datata
  • Android - 全局变量?

    我需要在我的应用程序中存储一些数据 我知道我可以这样做 class public class MyApplication extends Application private String someVariable public Stri