Android中全局变量的实现方法

时间:2020-12-02 10:27:08

开发Java程序时,使用public static方式的全局变量,这样虽然会给程序结构带来一定的方便,但也会带来一些风险。Android开发虽然可以使用与Java相同的方式,但是我们有更好的方法:Application context

我们知道每一个Activity都是一个Context,它包含了页面运行时的信息。而每一个Application也是一个Context,并且android保证它是程序中唯一存在的,因此可以通过Application context的方式更安全、优雅的实现全局变量。


1、创建继承Application类的子类MyApplication,并在Manifest文件中配置

[html] view plaincopy
  1. <application   
  2.     ...  
  3.     android:name="MyApplication"  
  4.     ...  
  5. </application>  

2、 在MyApplication类中创建想要全局使用的变量,并给出get、set方法

[java] view plaincopy
  1. public class MyApplication extends Application {      
  2.     private String mData;  
  3.       
  4.     public String getData() {  
  5.         return mData;  
  6.     }  
  7.       
  8.     public void setData(String data) {  
  9.         mData = data;  
  10.     }  
  11. }  

这样mData就达到了全局静态变量的效果,而且更符合Android的架构。

3、使用方法

[java] view plaincopy
  1. MyApplication myApp = (MyApplication) getApplication();  
  2. //或者  
  3. //MyApplication myApp = (MyApplication) getApplicationContext()  
  4. myApp.setData("Test");  
  5. myApp.getData();