Android全局变量的定义与使用

Android应用程序开发中,有的时候我们在应用程序的任何一个地方都需要访问一个全局变量,也就是在任何一个Activity中都可以访问的变量。它不会因为Activity的生命周期结束而消失。要实现应用程序级的变量,我们可以通过Application这个类来实现。

  1. class MyApp extends Application {  
  2.   
  3.   private String myState;  
  4.   
  5.   public String getState(){  
  6.     return myState;  
  7.   }  
  8.   public void setState(String s){  
  9.     myState = s;  
  10.   }  
  11. }  
  12.   
  13. class Blah extends Activity {  
  14.   
  15.   @Override  
  16.   public void onCreate(Bundle b){  
  17.     ...  
  18.     MyApp appState = ((MyApp)getApplicationContext());  
  19.     String state = appState.getState();  
  20.     ...  
  21.   }  
  22. }  


然后再manifest中添加应用:

  1. <application android:name=".MyApp" android:icon="@drawable/icon" android:label="@string/app_name">  
  2.         <activity android:name=".ClickableListItemActivity"  
  3.                   android:label="@string/app_name">  
  4.             <intent-filter>  
  5.                 <action android:name="android.intent.action.MAIN" />  
  6.                 <category android:name="android.intent.category.LAUNCHER" />  
  7.             </intent-filter>  
  8.         </activity>  
  9.   
  10.     </application>  

注意:

不用新建<application />,在原有基础上添加内容:android:name=".your_App_Name"


Application对象只有在应用程序中所有Activity都destroy时才会destrory,所有我们可以在任何一个Activity中访问它。

参考文章:http://androidstudy.iteye.com/blog/776127

http://www.eoeandroid.com/thread-163-1-1.html

原文地址:https://www.cnblogs.com/xin36933/p/3573818.html