什么是 Context
纯英文含义来看,Context 意指上下文、环境、背景等等……那么 Android 中的 Context 的含义和这些英文释义有什么联系呢?不妨看看 Google 给出的定义:
Interface to global information about an application environment. This is an abstract class whose implementation is provided by the Android system. It allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launching activities, broadcasting and receiving intents, etc.
把它完全翻译下来我觉得没啥必要,那这段话的核心含义是啥呢:
- 应用所处环境中所有信息的接口
- Context 只是一个抽象类,它的具体实现是由 Android 系统中的实现类提供的
- 允许访问系统资源或类,也可以进行应用层的一些操作,例如:启动 Activity、发送广播,接收 Intent 等等……
Context 能干什么
回顾我们使用 Context 的场景来帮助理解吧:我们在使用自定义 View 时,使用 BaseAdapter 时,甚至是访问数据库文件时,都需要传入一个 Context 参数,大家有没有想过这到底是为什么呢?因为我们初始化自定义 View 需要将 View 与某个页面布局关联&#x