Application源码说明
Xml代码
Base class for those who need to maintain global application state. You can provide your own implementation by specifying its name in your AndroidManifest.xml's <application> tag, which will cause that class to be instantiated for you when the process for your application/package is created.
SDK中的描述:Application类是为了那些需要保存全局变量设计的基本类,你可以在AndroidManifest.xml的<application>标签中进行自己的实现,这样的结果是:当你的application或者包被建立的时候将引起那个类被建立。
理解:就是说application是用来保存全局变量的,并且是在package创建的时候就跟着存在了。所以当我们需要创建全局变量的时候,不需 要再像j2se那样需要创建public权限的static变量,而直接在application中去实现。只需要调用Context的getApplicationContext或者Activity的getApplication方法来获得一个application对象,再做出相应 的处理。
一个简单例子,实现Application保存全局变量
public class MyApplication extends Application {
public static int a=5;
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
Log.i("debug", "application create--------------");
}
}
在AndroidManifest.xml文件中的Application标签加上name属性
<application android:icon="@drawable/icon" android:label="@string/app_name" android:name="com.qobo.test.MyApplication">
使用getApplication获取Application对象
public class AplicationActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
MyApplication app=(MyApplication)getApplication();
Log.i("debug",app.a+"" );
}
}