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

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


当前回答

上下文意味着Android可以知道我应该参加哪些活动。

1-Toast.makeText(上下文,“输入所有详细信息”,Toast.LNGTH_SHORT).show();它用于此。上下文上下文=ActivityName.this;

2-startActivity(新的Intent(context,LoginActivity.class));

在这个上下文中,意味着你想从哪个活动转到其他活动。context或ActivityName。这比getContext和getApplyinContext更快。

其他回答

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

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

在下图中,您可以看到一个类的层次结构,其中Context是这个层次结构的根类。特别值得强调的是,活动是上下文的后代。

上下文是指不同时间段内的组件(或应用程序)。如果我确实在下午1点到2点之间吃了那么多食物,那么我在这段时间内使用的所有方法(或资源)都将被用来访问。内容是特定时间的组件(应用程序)。应用程序组件的上下文根据组件或应用程序的底层生命周期不断变化。例如,在Activity的onCreate()内,

getBaseContext()--提供由Activity的构造函数设置(创建)的Activity的上下文。getApplicationContext()--在创建应用程序期间提供Context设置(已创建)。

注意:<application>包含所有Android组件。

<application>
    <activity> .. </activity> 

    <service>  .. </service>

    <receiver> .. </receiver>

    <provider> .. </provider>
</application> 

这意味着,当您从任何组件内部调用getApplicationContext()时,您正在调用整个应用程序的公共上下文。

系统根据组件的生命周期不断修改上下文。

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

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

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

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

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

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

了解android环境的简单示例:

每个老板都有一个助手来照顾,来完成所有不那么重要和耗时的任务。如果需要一份文件或一杯咖啡,一名助手就在路上。一些老板几乎不知道办公室里发生了什么,所以他们也会询问助手。他们自己做一些工作,但在大多数其他事情上,他们需要助手的帮助。

在这种情况下,

Boss–是Android应用程序

助手–是一个上下文

文件/咖啡杯–是资源

当我们需要获取有关应用程序的不同部分(如活动、应用程序等)的信息时,我们通常会调用上下文。

涉及上下文的某些操作(需要助手的操作):

加载公共资源创建动态视图显示Toast消息启动活动等。

获取上下文的不同方式:

getContext()

getBaseContext()

getApplicationContext()

this