在Android编程中,Context类到底是什么?它用于什么?
我在开发者网站上读过这篇文章,但我无法清楚地理解它。
在Android编程中,Context类到底是什么?它用于什么?
我在开发者网站上读过这篇文章,但我无法清楚地理解它。
当前回答
只是把它放在那里给新手;
因此,首先了解单词上下文:
在英语库中。这意味着:
“构成事件、语句或这是一个可以充分理解和评估的概念。"“紧接在和之前的书面或口头的部分跟随一个单词或一段话,并阐明其含义。"
现在对编程世界有同样的理解:
应用程序/对象当前状态的上下文。它让新创建的对象了解发生了什么。通常,您调用它来获取有关程序的另一部分(活动、包/应用程序)的信息
您可以通过调用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进行的日常编码中,您将看到上下文频繁传递。
摘自《实践中的Android》一书,第60页。
几个Android API需要Context作为参数
如果您查看各种Android API注意,其中许多都将android.content.Context对象作为参数您还将看到“活动”或“服务”通常用作上下文这是因为这两个类都是从Context扩展的。
android.content.Context类提供到android系统和项目资源的连接。它是有关应用程序环境的全局信息的接口。
上下文还提供对Android服务的访问,例如位置服务。
Activities和Services扩展了Context类。
上下文基本上用于资源访问和获取应用程序(用于应用程序上下文)或活动(用于活动上下文)或任何其他的环境详细信息。。。
为了避免内存泄漏,您应该为每个需要上下文对象的组件使用应用程序上下文。。。。有关详细信息,请单击此处