在android.app.Application中定义全局变量 .
2012-07-28 16:05
513 查看
在Android应用中使用全局变量,除了public的静态变量,还有更优雅的方式是使用android.app.Application。
启动Application时,系统会创建一个PID,即进程ID,所有的Activity就会在此进程上运行。那么我们在Application创建的时候初始化全局变量,同一个应用的所有Activity都可以取到这些全局变量的值。
例如,在Application中保存登录状态 AndroidMenifest.xml
[html] view plaincopyprint?
<application
android:name=".CombankDroid"
android:icon="@drawable/first_aid"
android:label="@string/app_name" >
</application>
CombankDroid.java
[java] view plaincopyprint?
public class CombankDroid extends Application {
private boolean isLogin;
public boolean isLogin(){
return isLogin
}
public void setIsLogin(boolean b){
isLogin = b;
}
}
Anyhow.java
[java] view plaincopyprint?
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();
}
...
}
...
}
启动Application时,系统会创建一个PID,即进程ID,所有的Activity就会在此进程上运行。那么我们在Application创建的时候初始化全局变量,同一个应用的所有Activity都可以取到这些全局变量的值。
例如,在Application中保存登录状态 AndroidMenifest.xml
[html] view plaincopyprint?
<application
android:name=".CombankDroid"
android:icon="@drawable/first_aid"
android:label="@string/app_name" >
</application>
<application android:name=".CombankDroid" android:icon="@drawable/first_aid" android:label="@string/app_name" > </application>
CombankDroid.java
[java] view plaincopyprint?
public class CombankDroid extends Application {
private boolean isLogin;
public boolean isLogin(){
return isLogin
}
public void setIsLogin(boolean b){
isLogin = b;
}
}
public class CombankDroid extends Application { private boolean isLogin; public boolean isLogin(){ return isLogin } public void setIsLogin(boolean b){ isLogin = b; } }
Anyhow.java
[java] view plaincopyprint?
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中定义全局变量
- 在android.app.Application中定义全局变量
- 在android.app.Application中定义全局变量
- 在android.app.Application中定义全局变量
- 在android.app.Application中定义全局变量
- 在android.app.Application中定义全局变量
- 在android.app.Application中定义全局变量
- 在android.app.Application中定义全局变量
- 在android.app.Application中定义全局变量
- 在android.app.Application中定义全局变量
- android自己定义Application全局变量不能类型转换的问题
- Android Application 创建全局变量
- Android使用static定义全局变量被系统回收的问题
- android传递数据方式1---通过Application类实现全局变量
- android中application 关于全局变量
- Android用Application设置全局变量以及使用
- Android通过Application存储应用全局变量
- Android项目全局变量的定义简介
- Android全局变量的定义与使用
- Android中application 全局变量