2015-02-11 107 views
0

当我试图找到一个简单的方法来实现一个全局变量到我的应用程序(我打算在几个活动中使用的一个Java类的数组)中时,我很快就会发现。我看到一种看起来很有意义且易于实现的方法。它涉及到创建一个新的Java类;用什么填充它;并将其插入清单<application android:name="app.com.new.GlobalVariables"...。但它表示该类不能分配给应用程序。Android创建和使用全局变量的简单方法?

我试过其他一些方法,但无济于事。类似于C++,是不是有办法将一个类(或全局变量)“包含”到整个Android应用程序中?

回答

1

您可以使用单例设计模式创建一个新类,用于存储您希望在所有活动中保留的所有数据。

http://en.wikipedia.org/wiki/Singleton_pattern

基本上你创建一个只包含一个get方法的类。该方法创建一个对象的实例,如果没有,或只是返回该对象,如果它已经被实例化。您可以在每个活动中调用该方法来获取相同的对象。

+0

嗯,我记得C++的单例。这几乎是最好的和/或唯一的方式?我的全局变量实际上是一个具有几个变量的类的数组,我的目标是能够轻松地检索部分类...即:'System.out.ln(class [3] .string) ;'知道,这仍然是最好的方式去做呢? – lilgodwin 2015-02-11 17:06:47

+0

那么单身商店的对象可以是你的数组,所以你仍然可以以同样的方式访问这些类。 singleton.get()[3]。 – 2015-02-11 17:18:52

1

创建有效期延长申请

public class GlobalClass extends Application{ 

private String name; 
public String getName() { 
return name; 
} 

public void setName(String Name) { 

    name = Name; 

}} 

后来在manifest文件中注册一个类

<application 
    android:name="com.example.globalvariable.GlobalClass" 

如何使用它

GlobalClass globalVariable = (GlobalClass) getApplicationContext(); 
    globalVariable.setName("Name here"); 
    String name = globalVariable.getName(); 

完蛋了。