在Android编程中,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

其他回答

语境到底是什么?

根据Android参考文档,它是一个表示各种环境数据的实体。它提供对本地文件、数据库、与环境相关的类加载器、服务(包括系统级服务)等的访问。在这本书中,以及在您使用Android进行的日常编码中,您将看到上下文频繁传递。

摘自《实践中的Android》一书,第60页。

几个Android API需要Context作为参数

如果您查看各种Android API注意,其中许多都将android.content.Context对象作为参数您还将看到“活动”或“服务”通常用作上下文这是因为这两个类都是从Context扩展的。

Context是应用程序/对象当前状态的上下文。它是表示各种环境数据的实体。上下文帮助当前活动与外部android环境交互,如本地文件、数据库、与环境相关的类加载器、包括系统级服务在内的服务等等。

上下文是系统的句柄。它提供诸如解析资源、访问数据库和首选项等服务。android应用程序有活动。它就像应用程序当前运行的环境的句柄。活动对象继承Context对象。

通过不同的调用方法可以获取上下文1.getApplicationContext(),2.getContext(),3.getBaseContext()4.或这个(在活动课上)。

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

Android上下文包括:

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

将其视为虚拟机孤立了应用程序或服务运行的进程。孤立的环境可以访问大量底层系统信息和某些允许的资源。您需要该上下文来获得这些服务。

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

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

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