Android应用程序变量(Application级别)


Android应用程序开发中,有的时候我们在应用程序的任何一个地方都需要访问一个全局变量,也就是在任何一个Activity中都可以访问的变量。它不会因为Activity的生命周期结束而消失。要实现应用程序级的变量,我们可以通过Application这个类来实现。 首先,我们新建一个类HelloApplication继承Android.app.Application类,然后在我们的类中增加一些变量。如下所示:

  1. public class HelloApplication extends Application {   
  2.         private int globalVariable=1;   
  3.   
  4.         public int getGlobalVariable() {   
  5.                 return globalVariable;   
  6.         }   
  7.   
  8.         public void setGlobalVariable(int globalVariable) {   
  9.                 this.globalVariable = globalVariable;   
  10.         }   
  11. }  

然后在应用程序配置文件AndroidManifest.xml中进行相应的配置,如下图所示:

完成之后,我们在应用程序的任何一个Activity中可以通过如下方法访问我们的变量:

  1. ((HelloApplication)getApplication()).setGlobalVariable(10);   
  2. int valiable=((HelloApplication)getApplication()).getGlobalVariable();  

怎么样? 是不是很简单? Application对象只有在应用程序中所有Activity都destroy时才会destrory,所有我们可以在任何一个Activity中访问它。 那么为什么我们不能使用static 变量来存放全局变量呢?如下所示:

  1. public class DataStoreClass {   
  2.         private static int globalVariable=1;   
  3.     
  4.         public static int getGlobalVariable() {   
  5.                 return globalVariable;   
  6.         }   
  7.     
  8.         public static void setGlobalVariable(int newGlobalVariable) {   
  9.                 globalVariable = newGlobalVariable;   
  10.         }   
  11. }  
  • 1
  • 2
  • 下一页

相关内容