2011-04-14 128 views
5

我是新来的android开发,我解析XML文件通过SAX解析器和存储解析的数据到一个字符串。现在我需要在另一个类中使用该字符串,所以我需要知道如何在新类中调用该解析器。 由于事先全局变量在android中的声明

+0

使用静态修饰符 – ernazm 2011-04-14 07:26:03

+0

请注意,全局数据是一个坏主意,除非它是常量。 – 2011-04-14 07:41:43

+0

不知道你的类层次更详细,我想知道什么阻止你使用基本的getter方法? – harism 2011-04-14 08:29:13

回答

9

我总是把它包含了所有我的全局的类并称之为“Constants.java”

final public class Constants//final to prevent instantiation 
{ 
    public static final String SOME_STRING = "0.04"; 
    public static final int SOME_NUMBER = 5; 
    public static final float METERS_PER_MILE = 1609.344f; 

    //private constructor to prevent instantiation/inheritance 
    private Constants() 
    { 
    } 
} 

使用其中一个在你的代码,一定要导入类及用途:

Constants.SOME_NUMBER

+0

为什么不使用接口呢? – ernazm 2011-04-14 07:41:18

+0

因为“一个接口是一组具有空体的相关方法” – 2011-04-14 17:51:57

+0

事件“接口定义也可能定义自动公共静态最终的属性”,我认为接口的主要目的是用空身体。 – 2011-04-14 18:01:04

2

您可以使用一个静态变量,并且可以通过ClassName.myVar

2

你可以使用意图访问任何地方的应用

public static int myVar = 1; 

访问它传递的价值。 另外,你可以使用manifest.xml来创建一个gloable变量。

1

使用Android应用程序扩展名不是多进程安全,如下所述: How to declare global variables in Android? 注意的第一反应。他定义了如何扩展应用程序本身,但是请注意, “这种方法不能提供持久化全局状态的简单方法,如果您的应用程序发现这种情况,您应该使用某种存储;请参阅Android文档以获取更多信息的方法。“ 我也看到其他职位声明进程之间这种方法需要稍微修改,但我认为这是可能的。 让我知道如果我明白了错误...