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

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


当前回答

老板助理类比

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

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

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

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

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

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

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

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

其他回答

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

上下文是有关应用程序环境的全局信息的接口。这是一个抽象类,其实现由Android系统提供。

上下文允许访问特定于应用程序的资源和类,以及调用应用程序级操作,如启动活动、广播和接收意图等。

以下是示例

 public class MyActivity extends Activity {

      public void Testing() {

      Context actContext = this; /*returns the Activity Context since   Activity extends Context.*/

      Context appContext = getApplicationContext();    /*returns the context of the single, global Application object of the current process. */

      Button BtnShowAct1 = (Button) findViewById(R.id.btnGoToAct1);
      Context BtnContext = BtnShowAct1.getContext();   /*returns the context of the View. */

有关详细信息,请访问http://developer.android.com/reference/android/content/Context.html

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

如果你想知道什么是上下文,你必须知道它的作用。。。例如,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应用程序有活动。上下文就像应用程序当前运行的环境的句柄。活动对象继承上下文对象。

有关更多信息,请参阅Android Studio的Android开发简介-教程。

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

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

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