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

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


当前回答

将Context视为具有不同资源的框:字符串、颜色和字体。如果您需要资源,请转到此框。旋转屏幕时,此框会发生变化,因为方向会变为横向。

其他回答

android.content.Context类提供到android系统和项目资源的连接。它是有关应用程序环境的全局信息的接口。

上下文还提供对Android服务的访问,例如位置服务。

Activities和Services扩展了Context类。

老板助理类比

在深入研究Context的技术性之前,让我们先做一个小类比

每个老板都有一个助手或一个办事少的人(跑腿)对他来说,重要而耗时的事情。例如,如果需要一份文件或咖啡,那么助手就可以跑了。老板不会知道后台正在发生什么,但文件或任务将生产所以在这里Boss-Android应用程序助手-上下文文件或咖啡杯-资源

Android开发者官方网站对Context的描述

上下文是应用程序相关资源的访问点

让我们看看这些资源或任务

启动活动。获取文件系统上特定于应用程序的缓存目录的绝对路径。确定系统中运行的特定进程和用户ID是否允许给定权限。检查是否已授予您特定权限。

等等因此,如果一个Android应用程序想要启动一个活动,它将直接转到Context(访问点),Context类将资源返回给他(在本例中为Intent)。

与任何其他类一样,Context类具有字段和方法。您可以在官方文档中探索更多关于Context的内容,它几乎涵盖了所有内容、可用的方法、字段,甚至包括如何将字段与方法一起使用。

简单地说,Androids环境是一个混乱,除非你不再担心,否则你不会喜欢它。

Android上下文包括:

上帝反对。当你开始为Android开发时,你想在所有应用程序中传递的东西,但当你稍微接近编程、测试和Android本身时,就会避免这样做。不明确的依赖关系。内存泄漏的常见来源。用于测试的PITA。Android系统用于分配权限、资源、偏好、服务、广播、样式、显示对话框和膨胀布局的实际上下文。对于一些单独的事情,您需要不同的Context实例(显然,您不能显示来自应用程序或服务上下文的对话框;来自应用程序和活动上下文的布局可能不同)。

Context是android.content类的实例。Context提供到执行应用程序的android系统的连接。例如,您可以通过上下文检查当前设备显示的大小。

它还允许访问项目的资源。它是有关应用程序环境的全局信息的接口。

Context类还提供对Android服务的访问,例如报警管理器以触发基于时间的事件。

活动和服务扩展了Context类。因此,它们可以直接用于访问上下文。

android.content.Context类的实例提供到执行应用程序的android系统的连接。例如,您可以通过上下文检查当前设备显示的大小。

它还允许访问项目的资源。它是有关应用程序环境的全局信息的接口。

Context类还提供对Android服务的访问,例如报警管理器以触发基于时间的事件。

活动和服务扩展了Context类。因此,它们可以直接用于访问上下文。