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

转自:http://www.cnblogs.com/xiongbo/archive/2011/05/18/2050425.html

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

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

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

<application
    android:name=".CombankDroid"
    android:icon="@drawable/first_aid"
    android:label="@string/app_name" >
</application>

CombankDroid.java

复制代码
public class CombankDroid extends Application {
  private boolean isLogin;
 
  public boolean isLogin(){
    return isLogin
  }
  public void setIsLogin(boolean b){
    isLogin = b;
  }
}
复制代码

Anyhow.java

复制代码
class Anyhow extends Activity {
 
  @Override
  public void onCreate(Bundle b){
    ...
 
        CombankDroid combankDroid = ((CombankDroid)getApplicationContext());
        //CombankDroid combankDroid = (CombankDroid) getApplication();
 
        // Don't start the main activity if we don't have credentials
        if (!combankDroid.isLogin()) {
            redirectToLoginActivity();
        } else {
            loadUi();
        }
 
    ...
  }
 
...
}

你可能感兴趣的:(在android.app.Application中定义全局变量)