位置: 编程技术 - 正文

context和getApplicationContext()介绍

编辑:rootadmin

推荐整理分享context和getApplicationContext()介绍,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

在android中常常会遇到与context有关的内容,大多都是作为参数在传递,但是它的作用究竟是什么呢

先说它的用法,举个例子

在语句 AlertDialog.Builder builder = new AlertDialog.Builder(this); 中,要求传递的参数就是一个context,在这里我们传入的是this,那么这个this究竟指的是什么呢? 这里的this指的是Activity.this,是这个语句所在的Activity的this,是这个Activity 的上下文。网上有很多朋友在这里传入this.getApplicationContext(),这是不对的。 AlertDialog对象是依赖于一个View的,而View是和一个Activity对应的。 于是,这里涉及到一个生命周期的问题,this.getApplicationContext()取的是这个应用程序的Context,Activity.this取的是这个Activity的Context,这两者的生命周期是不同的,前者的生命周期是整个应用,后者的生命周期只是它所在的Activity。而AlertDialog应该是属于一个Activity的,在Activity销毁的时候它也就销毁了,不会再存在;但是,如果传 入this.getApplicationContext(),就表示它的生命周期是整个应用程序,这显然超过了它的生命周期了。 所以,在这里我们只能使用Activity的this。

context和getApplicationContext()介绍

下面具体解释它的内涵

其实Activity.this就是context的一个具体,Activity.this是你当前所在的activity的上下文,this.getApplicationContext()取得的是整个应用的上下文,在你把他们作为参数传递的时候,多数是用来标注你要在哪个activity里面进行操作,比如上文提到的AlertDialog.Builder builder = new AlertDialog.Builder(this);你是要在当前的activity里面创建对话框,如果传递的是this.getApplicationContext(),这是整个应用的上下文,代码怎么会知道你想在哪个具体的activity里面创建对话框呢,所以,在这里应该传入的是你想创建对话框的那个activity的上下文,即Activity.this.如果这你都理解了,那么你也该明白,每个activity都有自己的上下文,而整个应用只有一个上下文.

总结

getApplicationContext()返回应用的上下文,生命周期是整个应用,应用摧毁它才摧毁。Activity.this

返回当前activity的上下文,生命周期只是它所在的Activity,activity 摧毁他就摧毁

Android中logcat的介绍和使用 logcat日志的等级划分等级从低到高排列verbose:冗余,最低等级。黑色debug:调试信息蓝色info:普通信息绿色warning:警告橙色error:错误红色assert:断言

Android 巧用Itent.ACTION_PICK和Intent.ACTION_GET_CONTENT //选择图片requestCode返回的标识IntentinnerIntent=newIntent(Intent.ACTION_GET_CONTENT);//android.intent.action.GET_CONTENTinnerIntent.setType(contentType);//查看类型StringIMAGE_UNSPECIFIED

BroadcastReceiver广播 BroadcastReceiver广播广播类型:普通、有序简单的举个例子,大体用法思路已经很清楚了,剩下的有时间在附上实现:注册---触发---响应publicclassMainActivityext

标签: context和getApplicationContext()介绍

本文链接地址:https://www.jiuchutong.com/biancheng/383303.html 转载请保留说明!

上一篇:android环境搭建(android环境搭建实验报告)

下一篇:Android中logcat的介绍和使用(logcatapp)

  • 一般纳税人劳务公司可以开3%的发票吗
  • 附加税计提会计科目
  • 个人独资企业税种有哪些
  • 以转账方式收到货款会计分录
  • 金蝶专业版仓库反审核怎么做
  • 销售土地如何交增值税
  • 公司获得奖金计入什么科目
  • 个人汽车租给公司租金需多少钱?
  • 购货折让
  • 个税退税退给个人还是单位
  • 酒店挂账要做收款凭证吗
  • 支付印花税计入什么科目
  • abs应付债券
  • 企业对外投资需要哪些审批
  • 产品维修运费谁出
  • 房地产企业卖出去的房子需要缴纳城镇土地使用税吗
  • 消防工作经历证明哪些单位可以开
  • 收到转账支票又背书转让怎么写会计科目
  • 生产成本结转库存商品的数量
  • PHP:xml_set_end_namespace_decl_handler()的用法_XML解析器函数
  • php中删除文件的函数
  • 公司不给钱打那个电话
  • php安装部署
  • 零售企业进销存怎么结转成本
  • 微软输入法卸载不了
  • 佣金手续费开什么发票
  • 预提的奖金需要缴纳个人所得税吗
  • yolov5 教程
  • php gtk
  • yii2框架优秀在哪里
  • 核心概念英文翻译
  • 浅谈一下新冠的好处
  • 怎么把html转成图片
  • 微信小程序开发者工具
  • php的urlencode
  • php微信公众号开源框架
  • 小客车能用多少年
  • 集团公司内部结算
  • 私人打款到对公账户要交税吗
  • 跨年度的利息收入怎么做账
  • 业务出差餐费如何记账
  • Python函数的参数及其类型
  • db2replace函数用法
  • 折旧率多少正常
  • 废旧物资专用发票
  • sql2000安装不上是什么原因
  • sql server 2008 2014
  • 费用类科目期末余额
  • 幼儿园伙食账目
  • 工商年审中实缴还是虚缴
  • 年度亏损计提所得税吗
  • 增值税专用发票丢了怎么补救
  • 固定资产在以后会计期间可以转回吗
  • 零余额账户银行回单
  • 微信扣除手续费超过多少免费
  • 股权部分转让如何计算
  • 物业服务企业管理
  • 隐藏的系统
  • linux nfs默认服务端口
  • win10系统哪款好
  • win8.1无法进入系统
  • win1020h2正式版
  • centos 添加服务
  • myfastupdate.exe - myfastupdate是什么进程文件 有什么用
  • 怎么才能把win7变win10
  • PasSrv.exe - PasSrv是什么进程 有什么用
  • win7旗舰版怎么改成专业版
  • 诺基亚安装ngage
  • win7设备管理器里面没有网络适配器
  • dos强制删除文件命令
  • shell线程操作命令
  • ubuntu下安装visual studio
  • Linux 中常用的几种压缩工具?
  • unity3d2019安装步骤
  • 屏幕模式自适应模式
  • c#未来展望
  • javascript object oriented 面向对象编程初步
  • 3.0t交强险
  • 广东省电子税务局app
  • 河南旧县为什么叫新县
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设