有时候我们获取Context并不太容易,但是context又是必须的,那么怎么解决这个问题呢?
下面就来定义自己的Application,让你任何时候都可以获取到想要的全局Context,
当然也不能仅仅是就这点作用,当你的应用中需要一些全局的变量的时候,也可以放到自定义的Application中进行初始化哦!
***注意:*** 用的时候要慎用,考虑清楚什么能在这里初始化,什么不能,不然后果...我也就只能呵呵了.
好了,不多说了,我们开始吧!
1.定义一个类继承系统的Application(上代码)
import android.app.Application;
import android.content.Context;
public class MyApplication extends Application {
private static Context context;
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
}
/**
* 获取全局的Context
* @return
*/
public static Context getContext(){
return context;
}
}
这里很简单,就不多说了,提一下:有一些自己这时候就需要初始化的东西,也放到oncreate()中就可以了!
2.千万不能忘记的,要在告知系统加载我们自定义的Application类在AndroidManifest.xml
中
<application
android:name="com.cml.example.MyApplication"
...>
</application>
好了,完成了!
接下来在项目的任何地方你只需要调用MyApplication.getContext()就可以得到你想要的context了.
参考:<第一行代码>