词典中Context的英文解释是
上下文;语境;环境;
背景;情境。
在Android程序中,它指应用当前状态的运行环境。它可以让新创建的对象理解当前是什么状态,应用在进行着什么。
通常,我们调用它来获得程序的其他信息(Activity,package/application等)。
我们可以通过调用getApplicationContext()
, getContext()
, getBaseContext()
或者 this(如果是在activity类中)
来获得Context实例。
context的典型应用:
-
创建新对象: 创建view,adapters, listeners:
TextView tv = new TextView(getContext()); ListAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), ...);
-
获取利用Android系统的标准服务:如 LAYOUT_INFLATER_SERVICE,
context.getSystemService(LAYOUT_INFLATER_SERVICE) getApplicationContext().getSharedPreferences(*name*, *mode*);
-
使用系统中的其他组件:如使用ContentProvider, broadcasts, intent.
getApplicationContext().getContentResolver().query(uri, ...);
在编程术语中,Context是指程序运行时所在的大环境,比如说环境变量,全局变量,本地变量,其他类的实例的状态,当前环境的状态等。在其他的API中,也可以看到context,比如说 Servlet的ServletContext, JSF的FacesContext,Spring的ApplicationContext,JNDI的InitialContext.它们通常都利用了Facade设计模式,把运行环境细节抽象出来,最终用户,比如说开发者门不需要知道系统的细节,只需要通过context这一个简化了的接口去调用系统中的服务。