【问题标题】:How to access and refer variabes and functions in global classes [closed]如何访问和引用全局类中的变量和函数[关闭]
【发布时间】:2012-12-14 12:46:33
【问题描述】:

我正在创建一个包含五个活动的应用。我有一个类,其中包含用于所有五项活动的函数和变量。我在每个活动中创建了一个局部变量,像这样初始化类;

localclass = new globalclass(getResouces());

我是 android/java 开发的新手,当我尝试某些东西时,我想知道 memoryfootprints 之类的。在开始的第一个活动中,如前所述设置 localclass。然后我尝试从其他活动中访问此变量,并在活动第二、第三等中成功地做到了这一点;

localclass = com.firstactivity.localclass;

我使用的变量之一是对应用程序资源的引用。从第二个开始,我就没有这样的资源了;

res = getResources();

但是像这样;

res = com.firstactivity.localclass.res;

只要变量是静态的,它就可以工作。我也以同样的方式访问 globalclass 中的函数。

这是不好的做法吗?

【问题讨论】:

  • 先了解题名怎么写?
  • 嘿嘿嘿...我试图找到一个好的标题,但没有一个比我给出的更能描述我的问题的标题。欢迎提出建议!! ;-)
  • @user1086500:你的问题很好,但它缺乏关注的事实是它没有一个好的标题。
  • @user1086500 我对你的标题没有任何问题,但你的标题不好,如果你的问题标题不好,那么有些用户没有阅读你的问题。
  • 可能是这样的 - 如何在全局类中访问/引用本地资源 或其他。并且不要使用签名(--TOMMY),显示您的姓名和repo的矩形实际上是您的签名。

标签: android class android-activity


【解决方案1】:

通常使用静态类作为变量持有者确实不是一个好习惯。尝试通过意图传递您在其他活动中需要的变量。请参阅this,因为它更多地解释了为什么这不是一个好方法。

【讨论】:

  • 谢谢。重新编辑我的代码...
【解决方案2】:

看看Application class。您创建一个扩展应用程序的类:

public class YourApplication extends Application {
    // functions, variables, whatever it is you need across your whole program
} 

您可以通过在您的活动/服务中调用它来获得对您的应用程序的引用:

YourApplication app = (YourApplication)getApplication();

另外,请记住在清单文件中声明应用程序。

<application android:name="the.package.name.YourApplication" />

【讨论】:

  • 感谢您的回答!根据您和其他答案,我正在重新编辑我的代码。
猜你喜欢
  • 2018-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-31
  • 1970-01-01
  • 2021-11-24
  • 2023-03-12
相关资源
最近更新 更多