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


  在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();
}

...
}

...
}

posted on 2013-08-12 10:58  岚之山  阅读(168)  评论(0编辑  收藏  举报

导航