在Android编程中,Context类到底是什么?它用于什么?

我在开发者网站上读过这篇文章,但我无法清楚地理解它。


当前回答

Context是每个app-s沙盒的android特定api提供访问应用程序私有数据,如资源、数据库、私有文件目录、首选项、设置。。。

对于一个应用程序的所有活动/服务/广播侦听器,大多数私有数据都是相同的。

由于Application、Activity和Service实现了Context接口,因此可以在api调用需要Context参数时使用它们

其他回答

有关上下文的更多详细信息,请阅读本文。我将简要解释一下。

如果你想知道什么是上下文,你必须知道它的作用。。。例如,getContext()是检索上下文的方法之一。在getContext()中,Context与Activity及其生命周期相关联。我们可以将上下文想象为“活动”背后的一层,它将与“活动”的寿命一样长。一旦活动终止,上下文也会终止。该方法为活动提供功能列表,如:

Load Resource Values,
Layout Inflation,
Start an Activity,
Show a Dialog,
Start a Service,
Bind to a Service,
Send a Broadcast,
Register BroadcastReceiver.

现在想象一下:

上下文是一个位于其组件后面的层(接口)(活动、应用程序…)和组件的生命周期访问应用程序支持的各种功能环境和Android框架。

上下文是对当前对象的引用。上下文还允许访问有关应用程序环境的信息。

上下文是我们大多数人所称的应用程序。它由Android系统制作,只能执行应用程序所能执行的操作。在Tomcat中,Context也是我所称的应用程序。

有一个上下文包含多个活动,每个活动可能有多个视图。

很明显,有些人会说它不适合因为这个或那个,他们可能是对的,但是说Context是您当前的应用程序将有助于您理解在方法参数中放置的内容。

Android上下文是一个接口(在一般意义上,而不是在Java意义上;在Java中,上下文实际上是一个抽象类!),它允许访问特定于应用程序的资源、类以及有关应用程序环境的信息。

如果你的android应用程序是一个web应用程序,你的上下文将类似于ServletContext(我没有在这里进行精确的比较)。

您的活动和服务还扩展了Context,因此它们继承了所有这些方法来访问应用程序正在运行的环境信息。

上下文的定义

上下文表示环境数据它提供了对数据库等内容的访问

更简单的术语(示例1)

假设Person-X是一家初创软件公司的首席执行官。公司有一位首席架构师,这位首席架构师在公司内完成所有涉及数据库、UI等的工作等现在,首席执行官雇佣了一名新的开发人员。是建筑师告诉新聘人员的责任基于新人的技能数据库或UI等工作。

更简单的术语(示例2)

这就像访问应用程序资源的android活动。这与你去酒店时想吃早餐、午餐类似&在合适的时间吃饭,对吧?在逗留期间,你还喜欢其他很多东西。你是怎么得到这些东西的?你让客房服务人员为你带来这些东西。这里,客房服务人员是上下文,因为您是单一活动和酒店将成为您的应用程序,最后是早餐、午餐&晚餐必须是资源。


涉及上下文的内容包括:

正在加载资源。启动新活动。创建视图。获取系统服务。


上下文是Activity、Service、Application等的基类

描述这一点的另一种方式是:将上下文视为电视的远程&电视中的频道是资源、服务、使用意图等--这里,远程充当访问前台所有不同资源的访问权限。

因此,Remote可以访问资源、服务、使用意图等渠道。。。。同样地访问远程的人自然可以访问所有的东西,如资源、服务、使用意图等


获取上下文的不同方法

getApplicationContext()获取上下文()getBaseContext()或者这个(在活动课上)


例子:

TextView tv = new TextView(this);

关键字this指的是当前活动的上下文。