contextContext到底是什么?

context  时间:2021-09-13  阅读:()

我手机里有个context service的软件这是什么东西?

下面的介绍可以参考: 在Android系统中,有很多的service,也就是服务。

我们的程序如果用到系统功能,一般都是调用服务间接完成的。

也就是在Android系统中存在许多C/S架构。

而context的作用,就是android应用连接service的桥梁。

比如Activity中有一个方法,getSystemService()。

这个方法调到最后,实际上是调用的ContextImpl的getSystemService()方法。

而ContextImpl是对Context的实现。

android中的context是起什么作用的?

当我们访问当前应用的资源,启动一个新的activity的时候都需要提供Context。

Context是一个抽象基类,我们通过它访问当前包的资源(getResources、getAssets)和启动其他组件(Activity、Service、Broadcast)以及得到各种服务(getSystemService),当然,通过Context能得到的不仅仅只有上述这些内容。

对Context的理解可以来说:Context提供了一个应用的运行环境,在Context的大环境里,应用才可以访问资源,才能完成和其他组件、服务的交互,Context定义了一套基本的功能接口,可以理解为一套规范,而Activity和Service是实现这套规范的子类,这么说也许并不准确,因为这套规范实际是被ContextImpl类统一实现的,Activity和Service只是继承并有选择性地重写了某些规范的实现。

  activity继承关系    Service和Application 可以看出几个组件都继承于Context   一个应用中Context的数量等于Activity的个数?+ Service的个数?+ 1,这个1为Application

Context到底是什么?

Context字面意思上下文,位于framework package的android.content.Context中,其实该类为LONG型,类似Win32中的Handle句柄,很多方法需要通过Context才能识别调用者的实例,比如说Toast的第一个参数就是Context,一般在Activity中我们直接用this代替,代表调用者的实例为Activity,而到了一个button的onClick(View view)等方法时,我们用this时就会报错,所以我们可能使用ActivityName.this来解决,主要原因是因为实现Context的类主要有Android特有的几个模型,Activity、Service以及BroadcastReceiver。

常规需要Context实例的方法主要有各种Service实现的类,比如说SensorManager在实例化时需要getSystemService(String)方法就必须由Context的实例执行,还有一些私有的文件系统I/O比如说openFileInput以及常用的Toast的makeText方法。

Megalayer促销:美国圣何塞CN2线路VPS月付48元起/香港VPS月付59元起/香港E3独服月付499元起

Megalayer是新晋崛起的国外服务器商,成立于2019年,一直都处于稳定发展的状态,机房目前有美国机房,香港机房,菲律宾机房。其中圣何塞包括CN2或者国际线路,Megalayer商家提供了一些VPS特价套餐,譬如15M带宽CN2线路主机最低每月48元起,基于KVM架构,支持windows或者Linux操作系统。。Megalayer技术团队行业经验丰富,分别来自于蓝汛、IBM等知名企业。Mega...

阿里云年中活动最后一周 - ECS共享型N4 2G1M年付59元

以前我们在参与到云服务商促销活动的时候周期基本是一周时间,而如今我们会看到无论是云服务商还是电商活动基本上周期都要有超过一个月,所以我们有一些网友习惯在活动结束之前看看商家是不是有最后的促销活动吸引力的,比如有看到阿里云年中活动最后一周,如果我们有需要云服务器的可以看看。在前面的文章中(阿里云新人福利选择共享性N4云服务器年79.86元且送2月数据库),(LAOZUO.ORG)有提到阿里云今年的云...

knownhost西雅图/亚特兰大/阿姆斯特丹$5/月,2个IP1G内存/1核/20gSSD/1T流量

美国知名管理型主机公司,2006年运作至今,虚拟主机、VPS、云服务器、独立服务器等业务全部采用“managed”,也就是人工参与度高,很多事情都可以人工帮你处理,不过一直以来价格也贵。也不知道knownhost什么时候开始运作无管理型业务的,估计是为了扩展市场吧,反正是出来较长时间了。闲来无事,那就给大家介绍下“unmanaged VPS”,也就是无管理型VPS,低至5美元/月,基于KVM虚拟,...

context为你推荐
阿里校园招聘阿里巴巴校园招聘内推有什么优势java队列怎样用java代码实现一个队列网页图标网站ICO图标若想全部添加到网页中,有什么简便方法吗?什么是cookie覆盖自动cookie处理是什么意思资源优化配置社会资源优化配置的标志是什么?怎样实现?招行信用卡还款我是招行的信用卡!该怎么还款快照优化如何优化百度快照soap是什么意思rbq是什么意思?主板说明书精英主板中文说明书科学计算器说明书科学计算器怎样用?
电信服务器租赁 wordpress主机 好看的桌面背景大图 标准机柜尺寸 cdn联盟 hkg 服务器干什么用的 百度云1t 华为云盘 视频服务器是什么 美国凤凰城 国内域名 测速电信 稳定空间 上海联通 塔式服务器 海外加速 优惠服务器 webmin 傲盾代理 更多