如何在全局类中评估和引用变量和函数

时间:2012-12-14 12:46:34

标签: android class android-activity

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

localclass = new globalclass(getResouces());

我是android / java开发的新手,并且想知道memoryfootprints等等,当我尝试了一些东西时。在第一个开始的活动中,localclass被设置为如上所述。然后,我尝试从其他活动中访问此变量,并在活动第二,第三等中成功完成此操作;

localclass = com.firstactivity.localclass;

我使用的变量之一是对应用程序资源的引用。在第二次的活动中我不会得到这样的资源;

res = getResources();

但是喜欢这个;

res = com.firstactivity.localclass.res;

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

这是不好的实践吗?

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:3)

看看Application class。您创建了一个扩展Application:

的类
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" />