在android.app.Application中定义全局变量 .

在Android应用中使用全局变量,除了public的静态变量,还有更优雅的方式是使用android.app.Application。

  启动Application时,系统会创建一个PID,即进程ID,所有的Activity就会在此进程上运行。那么我们在Application创建的时候初始化全局变量,同一个应用的所有Activity都可以取到这些全局变量的值。

  例如,在Application中保存登录状态  AndroidMenifest.xml

 
  1. <application  
  2.     android:name=".CombankDroid"  
  3.     android:icon="@drawable/first_aid"  
  4.     android:label="@string/app_name" >  
  5. </application>  
<application
    android:name=".CombankDroid"
    android:icon="@drawable/first_aid"
    android:label="@string/app_name" >
</application>

CombankDroid.java

  1. public class CombankDroid extends Application {  
  2.   private boolean isLogin;  
  3.    
  4.   public boolean isLogin(){  
  5.     return isLogin  
  6.   }  
  7.   public void setIsLogin(boolean b){  
  8.     isLogin = b;  
  9.   }  
  10. }  
public class CombankDroid extends Application {
  private boolean isLogin;
 
  public boolean isLogin(){
    return isLogin
  }
  public void setIsLogin(boolean b){
    isLogin = b;
  }
}

Anyhow.java

  1. class Anyhow extends Activity {  
  2.    
  3.   @Override  
  4.   public void onCreate(Bundle b){  
  5.     ...  
  6.    
  7.         CombankDroid combankDroid = ((CombankDroid)getApplicationContext());  
  8.         //CombankDroid combankDroid = (CombankDroid) getApplication();   
  9.    
  10.         // Don't start the main activity if we don't have credentials   
  11.         if (!combankDroid.isLogin()) {  
  12.             redirectToLoginActivity();  
  13.         } else {  
  14.             loadUi();  
  15.         }  
  16.    
  17.     ...  
  18.   }  
  19.    
  20. ...  
  21. }  
原文地址:https://www.cnblogs.com/xilin/p/2613250.html