4 回答
![?](http://img1.sycdn.imooc.com/54584c9c0001489602200220-100-100.jpg)
TA贡献1796条经验 获得超4个赞
简单地说:
顾名思义,它是应用程序/对象当前状态的上下文。它允许新创建的对象了解正在发生的事情。通常,您可以调用它来获取有关程序其他部分(活动和包/应用程序)的信息。
您可以通过调用获取上下文getApplicationContext()
,getContext()
,getBaseContext()
或this
(当从扩展一个类Context
,如应用程序,活动,服务和IntentService类)。
上下文的典型用法:
创建新对象:创建新视图,适配器,侦听器:
TextView tv = new TextView(getContext());ListAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), ...);
访问标准公共资源:LAYOUT_INFLATER_SERVICE,SharedPreferences等服务:
context.getSystemService(LAYOUT_INFLATER_SERVICE)getApplicationContext().getSharedPreferences(*name*, *mode*);
隐式访问组件:关于内容提供者,广播,意图
getApplicationContext().getContentResolver().query(uri, ...);
![?](http://img1.sycdn.imooc.com/533e4c1500010baf02200220-100-100.jpg)
TA贡献2065条经验 获得超14个赞
语境的定义
上下文表示环境数据
它提供对数据库等内容的访问
更简单的术语(例1)
考虑到Person-X是一家初创软件公司的首席执行官。
公司中有一位首席架构师,这位首席架构师负责公司的所有工作,包括数据库,UI等。
现在,CEO聘请了一位新的开发人员。
建筑师根据新人的技能告诉新雇员的责任,他是否会在数据库或用户界面等方面工作。
更简单的术语(例2)
这就像访问Android活动到应用程序的资源。
这与你去酒店时的情况类似,你想在适当的时间吃早餐,午餐和晚餐,对吧?
入住期间,您还有许多其他的事情。你怎么得到这些东西?
您要求客房服务人员为您带来这些东西。
在这里,客房服务人员是考虑到您是单一活动和酒店作为您的应用程序的背景,最后早餐,午餐和晚餐必须是资源。
涉及背景的事情是:
加载资源。
发起一项新活动。
创建视图。
获得系统服务。
Context是Activity,Service,Application等的基类
另一种描述这种情况的方法:考虑上下文作为电视中的电视和频道的遥控器是资源,服务,使用意图等 - - 这里遥控器作为访问以访问所有不同资源到前台的访问。
因此,Remote可以访问资源,服务,使用意图等渠道....
同样......有权访问远程的人自然可以访问所有的东西,如资源,服务,使用意图等
您可以通过不同的方法获取上下文
getApplicationContext()
getContext()
getBaseContext()
或
this
(在活动课上时)
例:
TextView TV=new TextView(this);
this
- >指当前活动的上下文。
![?](http://img1.sycdn.imooc.com/545869390001b87802200220-100-100.jpg)
TA贡献2041条经验 获得超4个赞
Context是系统的句柄; 它提供诸如解析资源,获取对数据库和首选项的访问等服务。Android应用有活动。Context类似于当前运行应用程序的环境的句柄。活动对象继承Context对象。
有关更多信息,请参阅Android Studio - Tutorial的Android开发简介。
添加回答
举报