在Android编程中,Context类到底是什么?它用于什么?
我在开发者网站上读过这篇文章,但我无法清楚地理解它。
在Android编程中,Context类到底是什么?它用于什么?
我在开发者网站上读过这篇文章,但我无法清楚地理解它。
当前回答
上下文表示获取环境数据的句柄。上下文类本身声明为抽象类,其实现由android OS提供。上下文就像电视的远程&电视中的频道是资源、服务等。
你能用它做什么?
正在加载资源。启动新活动。创建视图。正在获取系统服务。
获取上下文的方法:
getApplicationContext()获取上下文()getBaseContext()
其他回答
上下文是对当前对象的引用。上下文还允许访问有关应用程序环境的信息。
Android上下文是一个接口(在一般意义上,而不是在Java意义上;在Java中,上下文实际上是一个抽象类!),它允许访问特定于应用程序的资源、类以及有关应用程序环境的信息。
如果你的android应用程序是一个web应用程序,你的上下文将类似于ServletContext(我没有在这里进行精确的比较)。
您的活动和服务还扩展了Context,因此它们继承了所有这些方法来访问应用程序正在运行的环境信息。
语境到底是什么?
根据Android参考文档,它是一个表示各种环境数据的实体。它提供对本地文件、数据库、与环境相关的类加载器、服务(包括系统级服务)等的访问。在这本书中,以及在您使用Android进行的日常编码中,您将看到上下文频繁传递。
摘自《实践中的Android》一书,第60页。
几个Android API需要Context作为参数
如果您查看各种Android API注意,其中许多都将android.content.Context对象作为参数您还将看到“活动”或“服务”通常用作上下文这是因为这两个类都是从Context扩展的。
如果您想将Context与Android中其他熟悉的类连接,请记住以下结构:
Context<ContextWrapper<应用程序Context<ContextWrapper<ContextThemeWrapper<活动Context<ContextWrapper<ContextThemeWrapper<活动<列表活动Context<ContextWrapper<ServiceContext<ContextWrapper<Service<IntentService
所以,所有这些类都是以自己的方式存在的上下文。如果愿意,可以将Service和ListActivity转换为Context。但如果仔细观察,一些类也会继承主题。在活动或片段中,您希望将主题化应用于视图,但不关心它,例如Service类。
我在这里解释上下文的差异。
此属性声明默认情况下此布局与哪个活动关联。