第一步、写一个全局的单例模式的MyApplication继承自Application 覆盖onCreate ,在这个方法里面实例化Application
第二步、配置全局的Context
<application android:name="com.appstore.service.MyApplication" ></application>
第三步、使用,使用的时候根据类的名称访问Context
记住真正的Android入口点是application的main,你可以看下androidmanifest.xml的包含关系就清楚了,并不是每个应用都必须有Activity的。
就是说application是用来保存全局变量的,并且是在package创建的时候就跟着存在了。所以当我们需要创建全局变量的时候,不需要再像 j2se那样需要创建public权限的static变量,而直接在application中去实现。只需要调用Context的 getApplicationContext或者Activity的getApplication方法来获得一个application对象,再做出相应的处理。
Java代码:public class TestApplication extends Application {private int curIndex;public int getCurIndex() {return curIndex;}public void setCurIndex(int curIndex) {this.curIndex = curIndex;}@Overridepublic void onCreate() {super.onCreate();}@Overridepublic void onTerminate() {super.onTerminate();}}application中有一个curIndex和setter getter方法。第一个acitivty中对application进行的操作:Java代码:TestApplication application = (TestApplication) this.getApplication();Log.i("data", ""+application.getCurIndex());application.setCurIndex(5);第二个Activity:Java代码:TestApplication application = (TestApplication)this.getApplication();Log.i("data", ""+application.getCurIndex());application.setCurIndex(6);第三个Activity:Java代码final TestApplication application = (TestApplication) this.getApplication();Log.i("data", ""+application.getCurIndex());在运行过程中,每一次都kill掉对应的Activity,再进入下一个Activity。