以下为up主阅读郭大神《第一行代码》后整理的笔记:
我们都知道活动本身就是一个Context对象,但是,当应用程序构架复杂起来的时候,很多的逻辑代码都会脱离Activity类,
而很多时候我们在这些逻辑类中又要使用到上下文对象Context,这时,我们只要通过下面的技巧就可以解决该问题,在
项目的任何地方都能获取到Context了。
1.定制自己的Application类
Android提供了一个Application类,每当程序启动的时候,系统就会自动将这个类进行初始化。我们可以通过继承Application
类去定制一个自己的Application类,以方便管理程序内如全局Context等全局状态信息
public class MyApplication extends Application{
private static Context context;
@Override
public void onCreate() {
context = getApplicationContext();
}
public static Context getContext(){
return context;
}
}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.administrator.hellowworld" >
<application
android:name="com.crazyfzw.example.MyApplication"
...>
....
</application>
</manifest>
注意:指定MyApplication的时候一定要加上完整的包名。
3.接下来就可以在不能直接获取到Context的地方通过使用以下一行代码就可轻松获取到Context了。
MyApplication.getContext()