在Android编程中,Context类到底是什么?它用于什么?
我在开发者网站上读过这篇文章,但我无法清楚地理解它。
在Android编程中,Context类到底是什么?它用于什么?
我在开发者网站上读过这篇文章,但我无法清楚地理解它。
当前回答
将其视为虚拟机孤立了应用程序或服务运行的进程。孤立的环境可以访问大量底层系统信息和某些允许的资源。您需要该上下文来获得这些服务。
其他回答
android.content.Context类的实例提供到执行应用程序的android系统的连接。例如,您可以通过上下文检查当前设备显示的大小。
它还允许访问项目的资源。它是有关应用程序环境的全局信息的接口。
Context类还提供对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环境的简单示例:
每个老板都有一个助手来照顾,来完成所有不那么重要和耗时的任务。如果需要一份文件或一杯咖啡,一名助手就在路上。一些老板几乎不知道办公室里发生了什么,所以他们也会询问助手。他们自己做一些工作,但在大多数其他事情上,他们需要助手的帮助。
在这种情况下,
Boss–是Android应用程序
助手–是一个上下文
文件/咖啡杯–是资源
当我们需要获取有关应用程序的不同部分(如活动、应用程序等)的信息时,我们通常会调用上下文。
涉及上下文的某些操作(需要助手的操作):
加载公共资源创建动态视图显示Toast消息启动活动等。
获取上下文的不同方式:
getContext()
getBaseContext()
getApplicationContext()
this
只是把它放在那里给新手;
因此,首先了解单词上下文:
在英语库中。这意味着:
“构成事件、语句或这是一个可以充分理解和评估的概念。"“紧接在和之前的书面或口头的部分跟随一个单词或一段话,并阐明其含义。"
现在对编程世界有同样的理解:
应用程序/对象当前状态的上下文。它让新创建的对象了解发生了什么。通常,您调用它来获取有关程序的另一部分(活动、包/应用程序)的信息
您可以通过调用getApplicationContext()、getContext()和getBaseContext()或this(在活动类中)来获取上下文。
要在应用程序中获取上下文Anywhere,请使用以下代码:
在android应用程序中创建新类AppContext
public class AppContext extends Application {
private static Context context;
public void onCreate(){
super.onCreate();
AppContext.context = getApplicationContext();
}
public static Context getAppContext() {
return AppContext.context;
}
}
现在,每当您希望在非活动类中使用应用程序上下文时,都可以调用此方法,这样您就有了应用程序上下文。
希望这有帮助;)
上下文是系统的句柄;它提供诸如解析资源、访问数据库和首选项等服务。Android应用程序有活动。上下文就像应用程序当前运行的环境的句柄。活动对象继承上下文对象。
有关更多信息,请参阅Android Studio的Android开发简介-教程。