Android开发当中,Context对我们非常重要,通过Context我们不仅可以获得四大组件,还可以获得系统封装的一些属性和方法,通常我们在开发项目的时候,多数情况下是分模块开发的,而有些模块不需要上下文Context,有些模块又需要Context。那么如何能够按其所需分配Context呢?我参考资料总结了两种方法。
第一种:《第一行代码》中的第13章有讲,此处不必再述。有兴趣的小伙伴可以在网上搜一下。
第二种:上代码:
public class MyApp extends Application {
private static MyApp mRCApp = null;
@Override
public void onCreate() {
super.onCreate();
mRCApp = this;
}
synchronized public static MyApp getApplication() {
return mRCApp;
}
}
和第一种方法类似,通过继承系统的Application类来实现。每当应用程序启动的时候,系统就会自动将这个类进行初始化(此处用到单例模式),另外在mainifest.xml文件中也应做改变。如下:
<application
android:allowBackup="true"
android:name="com.example.MyApp"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
>...
</application>
当程序启动的时候应通过提示系统 ,初始化当前包下的类android:name=”com.example.MyApp”而不是默认的Application类。
通过 MyApp.getApplication()方法得到系统上下文。
以上内容敬请参考,如果内容有不足或者小伙伴们还有其他方法,欢迎来指教。