位置: 编程技术 - 正文

Android--全局获取Context的技巧(android全局异常捕获并弹框提示)

编辑:rootadmin

推荐整理分享Android--全局获取Context的技巧(android全局异常捕获并弹框提示),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android全局异常捕获并弹框提示,android定义全局变量,android全局捕获异常,android 全局loading,android 全局dialog,android 全局dialog,android 全局loading,android获取全局context,内容如对您有帮助,希望把文章链接给更多的朋友!

Android中很多地方都会用到Context,弹出Toast的时候需要、启动活动时需要、发送广播的时候也需要、操作数据库的时候需要、使用通知的时候也需要等等等。

或许你现在还没有为得不到Context而发愁,因为现在我们的很多操作都是在活动中进行的,而活动本身就是一个Context对象。但是,当应用程序的框架逐渐开始复杂起来的时候,很多的逻辑代码都将脱离Activity类,但此时你又恰恰需要使用Context,也许这个时候你就会感到有些伤脑筋了。

举个例子,这里我们编写了一个HttpUtil类,将一些通用的网络操作封装起来:

这里可以使用sendHttpRequest()来发送Http请求,但是我假如我们想对sendHttpRequest()方法进行一些优化,当检测到网络不存在的时候就给用户一个Toast提示,并不再执行后面的代码。这里却让我们遇到了一个问题,弹出的Toast提示需要一个Context参数,而我们在HttpUtil类中显然是获取不到Context对象的,怎么办呢?

Android--全局获取Context的技巧(android全局异常捕获并弹框提示)

其实这个问题经常会遇到,我们怎么解决呢?这里我们介绍一种技巧,让你在项目的任何地方都能轻易的获取到Context。Android提供了 一个Application类,以便于管理程序内一些全局的状态信息,比如全局的Context。定制一个自己的Application,首先我们需要创建一个MyApplication类继承自Application,如下:

接下来我们需要告知系统,在程序启动的时候应该初始化MyApplication 类,而不是默认的Application类,在AndroidManifest.xml文件中的<application>标签下进行指定:

这样以后在项目的任何地方使用Context,只需要调用一下MyApplication.getContext()就可以了:

我的应用:

webview与h5交互 androidwebview与H5的交互方法无响应@SuppressLint({SetJavaScriptEnabled,JavascriptInterface})protectedvoidonStart(){//TODOAuto-generatedmethodstubsuper.onStart();webView=(WebView)findViewById(R

android 在android中教你一行代码判断是不是主线程 我们有些时候需要判断这是不是主线程,特别是在一些使用别人框架的时候,比如想在某个回调中显示textview控件上的文字,但是我不知道他是不是在主线程

Android中的设计模式-单例模式 Android中的设计模式-单例模式单例模式算是比较常用的模式,在Java中如果想要一个JVM中只存在某个类的一个实例,就需要使用到单例模式,而只存在一

标签: android全局异常捕获并弹框提示

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

上一篇:android icon和启动页大小与尺寸(安卓手机如何打开.icon文件)

下一篇:webview与h5交互(html5webview交互)

  • 如何成为一般纳税人的条件
  • 出口企业税负率计算公式
  • 第一季度利润表简易
  • 营改增后纳税人可以使用的发票种类有
  • 工程机械租赁增值税税率很多适用错误应该是9不是13
  • 报销单第一页写不完
  • 餐厅团购券在哪个软件的
  • 肉联厂销售模式
  • 可供出售金融资产计入什么科目
  • 基金收入交增值税吗
  • 清算期间公司不再存续
  • 现金折扣是否可抵税
  • 行政事业单位拨入经费
  • 补助属不属于工资
  • 客户退款已发生的业务
  • 制造费用折旧费转入生产成本吗
  • 什么时候编制原始凭证分割单?
  • 工会筹备金交给谁
  • 增值税专用发票抵扣期限
  • 单位租房水电费是个人名字是否可以抵扣
  • 机动车发票认证了的发票怎么红冲
  • 控股公司如何抵押股权
  • 股东增资印花税税目
  • 公司的汽车购置税怎么交
  • 增值税预缴税款表项目编号是什么
  • 土地增值税清算报告
  • xp系统怎么删除打印机驱动程序
  • 上个月的流量这个月可以用吗
  • 因质量问题退货和收回的药品应当
  • win8.1怎么用
  • 重复确认收入是什么意思
  • php哪个函数能取得字符串长度
  • 银行贷款发放怎么做凭证
  • 固定资产转让出去租赁收入怎么入账
  • 暂无支付能力的原因
  • 珊瑚礁区域常有的鱼类
  • 科西嘉岛攻略
  • 研发新产品的重要性
  • “Ninja is required to load C++ extensions”解决方案
  • 广告费列支
  • vue中数字运算
  • 流动资产金额
  • 前端项目性能优势怎么写
  • Vue(ref和$refs属性介绍与使用)
  • 工程前期费用是什么意思
  • 建筑业如何开票
  • 分公司二季度安全生产分析会内容
  • 固定资产折旧怎么做会计科目
  • 货物出库入库怎么记账
  • 企业正常性停产什么意思
  • 印花税申报怎么更正采集处理
  • 地税发票丢失应如何处理
  • 出纳属于会计岗位职责吗
  • 计提银行存款利息
  • 一年发一次工资好不好
  • 应收账款的客户如何分析
  • 政府返税计入什么科目
  • 同一个法人的两家企业可以进行互相开票吗
  • 如何调整以前年度的实收资本
  • 转账支票有效期6个月
  • 餐饮会计做账流程图
  • mysql安装配置教程5.7.26
  • mysql的多表查询语句
  • win7系统怎么对外发送wifi信号
  • winXP设备管理器在哪
  • 系统 启动速度慢怎么办
  • 四步清理手机垃圾的方法
  • winxp能玩啥大型游戏
  • linux默认文件大小
  • WINDOWS10系统怎样看主板
  • w8系统文件夹怎么设置密码
  • win10registry
  • linux不小心删除目录怎么恢复
  • 在bootstrap中,有哪几种导航
  • 谷歌编程之夏2021
  • 代码的历史
  • 如何批量删除列表
  • python,字符串
  • javascript面向对象精要pdf
  • 哪些润滑油属于润滑剂
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设