安卓开发的常见问题之全局变量Application Context
创建一个属于你自己的android.app.Application的子类,然后在manifest中申明一下这个类,这是android就为此建立一个全局可用的实例,你可以在其他任何地方使用Context.getApplicationContext()方法获取这个实例,进而获取其中的状态(变量)。
下面看一下Demo:
class MyApp extends Application {
private String myState;
public String getState(){
return myState;
}
public void setState(String s){
myState = s;
}
}
class Blah extends Activity {
@Override
public void onCreate(Bundle b){
...
MyApp appState = ((MyApp)getApplicationContext());
String state = appState.getState();
...
}
}
这个效果就是使用静态变量是一样的,但是其更符合android的架构体系。 使用这种方法的话需要在AndroidManifest.xml中配置一下:
<application android:name=".MyApp" android:icon="@drawable/icon" android:label="@string/app_name">
相关推荐:
Android 编译时出现“finished with non-zero exit value”,这是怎么了?一直找不到 […]
默认情况下当旋转屏幕时,WebView将重新加载整个页面。怎么解决旋转时屏幕会从loadUrl()方法重新加载原始URL […]
1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一 […]
检查行所绑定的行布局文件中是否使用了EditText,如果有的话将EditText的focusable 属性设为fals […]
GPhone的模拟器有个特有的号码:15555218135,这个就类似我们实体手机的SIM卡号码啦。 要实现拨号,用手机 […]
拿起手机扫一扫即可带走我!