位置: 编程技术 - 正文

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)

  • 个税什么会计科目
  • 一般纳税人的增值税税率有哪些
  • 交易性金融资产是什么意思
  • 公司注销单位社保欠费怎么处理
  • 税控盘交服务费
  • 印花税销售额的多少
  • 纳税申报方式如何更改
  • 生产出来的次品怎么入账
  • 劳保费计入管理费用的什么
  • 核定征收的企业需要成本发票吗
  • 个人所得税返还奖励财务人员做账
  • 房租发票进项税可以抵扣吗
  • 主营业务税金及附加怎么算
  • 电子普通发票需要盖章吗
  • 人力资源外包服务收费标准
  • 企业支付宝可以转账到对公账户吗
  • 原材料总分类账怎么写
  • 股权转让未分配利润如何账务处理
  • 法人变更后的涉税问题
  • 企业所得税法中规定的收入总额包括
  • win10自带播放器不见了
  • 银行汇票与银行本票的区别
  • 印花税退费
  • sxgdsenu.exe - sxgdsenu是什么进程 有什么用
  • win10怎么看已安装的驱动
  • 收到对方公司开的发票怎么做账
  • 在win7系统中怎样卸载win10?
  • windows10我得电脑
  • hptasks.exe是病毒吗 是什么进程 hptasks进程说明
  • 认缴出资日期没到
  • 最高像素的手机
  • 酒店装修费用如何抵扣税
  • framework在哪
  • 生产企业放假前的安全提示
  • 如何配置phpstudy
  • php js
  • php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
  • 分公司改为子公司的所得税业务处理?
  • 微信小程序图片大小如何设置
  • 朴素贝叶斯算法
  • 简述资产负债表债务法
  • 增值税返还需要交增值税吗
  • 旅行社代订机票可以报销吗
  • ca证书在线延期不成功
  • java阻塞队列线程安全吗
  • mysql有什么优势和特点
  • 补缴印花税分录
  • 制作费开票属于什么编码类型
  • 新会计准则套期利息计算
  • sql查询结果分页
  • sql2008怎么查询
  • mysql怎么防止sql注入
  • 预开发票后涨价如何进行账务处理?
  • windows下重启mysql服务
  • 逾期未认证的增值税发票处理办法
  • 长期挂账其他应付款处理
  • 住宿费的进项税额
  • 一般账户的网银操作员变更怎么办理
  • 主营业务收入转入什么科目
  • 固定资产税法折旧年限规定
  • 本票丢了别人可以取钱吗
  • windows vista 版本
  • mac如何更换系统
  • linux日志类型
  • 如何用u盘在车上放音乐
  • linux系统的安全机制有哪些
  • macbookair怎么验证
  • win10通过任务管理器打开设置
  • 基于javascript数独游戏论文参考文献
  • Extjs3.0 checkboxGroup 动态添加item实现思路
  • javascript怎么设置字体大小
  • jQuery中ajax的load()与post()方法实例详解
  • javascript的返回值
  • Android系统启动负载均衡
  • js面向对象的三大特性
  • 刷android go
  • 深圳地方税务局电话
  • 出口退税额与出口退税收入
  • 南通工伤网上申请流程
  • 2018年北京个人所得税查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设