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