为了账号安全,请及时绑定邮箱和手机立即绑定

什么是Android上的“上下文”?

什么是Android上的“上下文”?

ITMISS 2019-05-27 16:44:33
什么是Android上的“上下文”?在Android编程中,究竟是什么Context类以及它用于什么?我在开发者网站上看过它,但我无法理解它。
查看完整描述

4 回答

?
慕的地8271018

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, ...);


查看完整回答
反对 回复 2019-05-27
?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

语境的定义

  • 上下文表示环境数据

  • 它提供对数据库等内容的访问

更简单的术语(例1)

  • 考虑到Person-X是一家初创软件公司的首席执行官。

  • 公司中有一位首席架构师,这位首席架构师负责公司的所有工作,包括数据库,UI等。

  • 现在,CEO聘请了一位新的开发人员。

  • 建筑师根据新人的技能告诉新雇员的责任,他是否会在数据库或用户界面等方面工作。

更简单的术语(例2)

  • 这就像访问Android活动到应用程序的资源。

  • 这与你去酒店时的情况类似,你想在适当的时间吃早餐,午餐和晚餐,对吧?

  • 入住期间,您还有许多其他的事情。你怎么得到这些东西?

  • 您要求客房服务人员为您带来这些东西。

  • 在这里,客房服务人员是考虑到您是单一活动和酒店作为您的应用程序的背景,最后早餐,午餐和晚餐必须是资源。


涉及背景的事情是:

  1. 加载资源。

  2. 发起一项新活动。

  3. 创建视图。

  4. 获得系统服务。


Context是ActivityServiceApplication等的基类

另一种描述这种情况的方法:考虑上下文作为电视中的电视和频道的遥控器是资源,服务,使用意图等 - - 这里遥控器作为访问以访问所有不同资源到前台的访问。

  • 因此,Remote可以访问资源,服务,使用意图等渠道....

  • 同样......有权访问远程的人自然可以访问所有的东西,如资源,服务,使用意图等


您可以通过不同的方法获取上下文

  • getApplicationContext()

  • getContext()

  • getBaseContext()

  • this(在活动课上时)


例:

TextView TV=new TextView(this);

this - >指当前活动的上下文。


查看完整回答
反对 回复 2019-05-27
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

Context是系统的句柄; 它提供诸如解析资源,获取对数据库和首选项的访问等服务。Android应用有活动。Context类似于当前运行应用程序的环境的句柄。活动对象继承Context对象。

有关更多信息,请参阅Android Studio - Tutorial的Android开发简介


查看完整回答
反对 回复 2019-05-27
  • 4 回答
  • 1 关注
  • 1315 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信