在开发中,很多的逻辑代码都将脱离Activity类,此时会发现无法获取到Context,下面通过Android提供的Application类来实现全局获取Context。
Android提供了一个Application类,每当应用程序启动的时候,系统就会自动将这个类进行初始化。在Android源码中对他的描述是:
- 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.
由此可见,Application类是为了那些需要保存全局变量设计的基本类,并且是在package创建的时候就跟着存在了。所以当我们需要创建全局变量的时候,可以直接在Application中实现。只需要调用Context的getApplicationContext或者Activity的getApplication方法来获得一个application对象,再做出相应 的处理。
我们可以定制一个自己的Application类,以便于管理程序内一些全局的状态信息,比如说全局Context。
1、创建一个MyApplication类extends自Application。
2、重写父类的onCreat