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

本文介绍了一种在Android应用中管理全局变量的优雅方法:通过继承Application类并利用其生命周期特性来实现全局变量的存储和访问。这种方法使得所有Activity都能方便地获取到全局变量的状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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/archive/2012/07/28/2613250.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值