我正在主应用程序类中创建一个自定义类。可以说我的mainAccount
。声明一个全局变量用于所有活动
现在,我正在创建许多活动。我想要mainAccount
变量在每个活动中,我怎么能做到这一点?一种方法是投入意向并传递给每个活动。有没有更好的方法,比如让它成为全球的etC?
最好的问候
我正在主应用程序类中创建一个自定义类。可以说我的mainAccount
。声明一个全局变量用于所有活动
现在,我正在创建许多活动。我想要mainAccount
变量在每个活动中,我怎么能做到这一点?一种方法是投入意向并传递给每个活动。有没有更好的方法,比如让它成为全球的etC?
最好的问候
你有没有想过使用偏好? 有关更多信息的好资源是。 http://mobile.tutsplus.com/tutorials/android/android-application-preferences/
或者你可以创建一个由 http://www.helloandroid.com/category/topics-covered/global-variables
查找Singleton classes。基本上,你想要这样的东西。
public class Singleton {
private static Singleton instance = null;
protected Singleton() {
// Exists only to defeat instantiation.
}
public static Singleton getInstance() {
if(instance == null) {
instance = new Singleton();
}
return instance;
}
}
然后,对于需要该类访问任何类,称之为:
Singleton var=Singleton.getInstance();
这主要是全球性的,没有大部分的全局变量的消极后果。它将确保只有该类的一个对象可以存在,但每个需要它的对象都可以访问它。
只需定义一个抽象类与这些变量和方法无论你想要在活动中访问。
例如:
public abstract class BaseActivity extends Activity
{
//static variables
// static methods
}
现在扩展了这个BaseActivity类的所有活动:
public class HelloAndroid extends BaseActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
您可以使用“单”类或“静态”类(如果你不需要初始化,实例或实例阐述扩展应用类继承或实现接口)。
Singleton类:
public class MySingletonClass {
private static MySingletonClass instance;
public static MySingletonClass getInstance() {
if (instance == null)
instance = new MySingletonClass();
return instance;
}
private MySingletonClass() {
}
private String val;
public String getValue() {
return val;
}
public void setValue(String value) {
this.val = value;
}
}
的String = MySingletonClass.getInstance()的getValue();
静态类:
public class MyStaticClass {
public static String value;
}
的String = MyStaticClass.value;
嗯。非常感谢,我一直在寻找。 – 2012-03-08 05:04:45
没问题。第一个链接还有很多其他信息。 – mpeerman 2012-03-08 05:37:05