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

来源:互联网 发布:js中同步和异步的区别 编辑:程序博客网 时间:2024/05/16 04:34
在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();        }     ...  } ...}

原创粉丝点击