Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / 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. }