我对Android中的术语“上下文”有疑问。我看到上下文提供了有关应用程序运行环境的信息,但是应用程序上下文和活动上下文之间有什么区别?
为什么我这样做:
AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
为什么我将上下文传递给构造函数?任何人都可以提供请帮助我理解上下文是什么,以及上下文对象是什么?
我不想复制/粘贴来自Android参考,因为我已经读过它.....太多次没有理解。
答案 0 :(得分:3)
它们都是Context的实例,但应用程序实例与应用程序的生命周期相关联,而Activity实例与Activity的生命周期相关联。因此,他们可以访问有关应用程序环境的不同信息。
如果您阅读getApplicationContext处的文档,则会注意到,只有在需要生命周期与当前上下文不同的上下文时才应使用此文档。这不适用于您的任何一个示例。
活动上下文可能包含有关完成这些调用所需的当前活动的一些信息。如果您显示确切的错误消息,可能能够指出它究竟需要什么。
但一般来说,除非你有充分理由不使用活动上下文,否则请使用活动上下文。
答案 1 :(得分:1)
简单的单词ill试着解释。让我们举个例子
如果您正在使用AlertDialog Builder,那么AlertDialog将如何理解他将在哪里显示? (如果你不参加那项活动)
这里有上下文。我们将Activity Context传递给AlertDialog。简短的AlertDialog将出现在提供的上下文中。
如果我错了,这就是我的理解是正确的。
答案 2 :(得分:0)
课程概述
有关应用程序环境的全局信息的接口。这个 是一个抽象类,其实现由Android提供 系统。它允许访问特定于应用程序的资源和 类,以及应用程序级操作的上调,如 发起活动,广播和接收意图等。
anddev网站非常清楚地说。
您必须将其传递给其他类,以便他们可以访问全局 其他信息。