什么是Android中的上下文

时间:2011-03-15 10:25:27

标签: android

我对Android中的术语“上下文”有疑问。我看到上下文提供了有关应用程序运行环境的信息,但是应用程序上下文和活动上下文之间有什么区别?

为什么我这样做:

AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);

为什么我将上下文传递给构造函数?任何人都可以提供请帮助我理解上下文是什么,以及上下文对象是什么?

我不想复制/粘贴来自Android参考,因为我已经读过它.....太多次没有理解。

3 个答案:

答案 0 :(得分:3)

它们都是Context的实例,但应用程序实例与应用程序的生命周期相关联,而Activity实例与Activity的生命周期相关联。因此,他们可以访问有关应用程序环境的不同信息。

如果您阅读getApplicationContext处的文档,则会注意到,只有在需要生命周期与当前上下文不同的上下文时才应使用此文档。这不适用于您的任何一个示例。

活动上下文可能包含有关完成这些调用所需的当前活动的一些信息。如果您显示确切的错误消息,可能能够指出它究竟需要什么。

但一般来说,除非你有充分理由不使用活动上下文,否则请使用活动上下文。

答案 1 :(得分:1)

简单的单词ill试着解释。让我们举个例子

如果您正在使用AlertDialog Builder,那么AlertDialog将如何理解他将在哪里显示? (如果你不参加那项活动)

这里有上下文。我们将Activity Context传递给AlertDialog。简短的AlertDialog将出现在提供的上下文中。

如果我错了,这就是我的理解是正确的。

答案 2 :(得分:0)

  

课程概述

     

有关应用程序环境的全局信息的接口。这个   是一个抽象类,其实现由Android提供   系统。它允许访问特定于应用程序的资源和   类,以及应用程序级操作的上调,如   发起活动,广播和接收意图等。

anddev网站非常清楚地说。

  

您必须将其传递给其他类,以便他们可以访问全局   其他信息。