位置: 编程技术 - 正文

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交互)

  • 财务软件进什么费用
  • 减少实收资本需要缴纳什么税
  • 缴纳城镇土地使用税
  • 所得税补缴怎么回事
  • 以库存现金付讫
  • 出口免税需要什么资料
  • 房地产开发预提费用
  • 发放短期外汇贷款的意义
  • 非股东可以投资项目吗
  • 员工离职 社保
  • 其他账簿印花税减免税优惠政策
  • 公司食堂买菜入什么科目
  • 未按规定期限办理身份证
  • 进项大于销项怎么做账
  • 跨年度多计提的社保调整
  • 一个法人可以办几个公司
  • 筹建期间的开办费包括哪些
  • 发给客户补货的产品怎么做?
  • 个人所得税征收范围
  • 税务自查补税后还有风险吗
  • macos catalina与macos big区别
  • php输出mysql查询结果
  • php preg_quote
  • 电脑每次开机都要磁盘检查是什么原因
  • 系统之家一键重装系统步骤
  • 购进商品怎么做会计分录
  • 板栗怎样保存1年不坏
  • php中分页功能的实现
  • PHP:iconv_set_encoding()的用法_iconv函数
  • 主营业务收入含义
  • 酒店预收款管理制度
  • 超过认证错误限制
  • 海运发票模板
  • 个税申报中是否婚前各自首套贷款
  • 财务报表中固定资产清理为什么加借方余额
  • css怎么调用
  • uniapp新建项目
  • 前端程序员和后端程序员哪个工资高
  • js快速入门教程
  • 帝国cms栏目没有了
  • 医院会计医保怎么做账
  • 收入的利息怎么记账
  • 小规模纳税人进项税额怎么处理
  • 个人所得税生产经营所得税怎么申报
  • 海关双抬头发票公司名可以更改吗
  • python unittest和pytest
  • 个税专项附加扣除标准调整
  • 加油票子能报销吗
  • 零售金银首饰是否缴纳消费税
  • 收到投资款证明怎么做账
  • 固定资产可资本化的后续支出
  • 采购折扣怎么结算
  • 本年利润在借方表示什么意思
  • 小规模附加税优惠政策最新2023
  • 企业收到劳务费会计分录怎么做账
  • 工程开票金额大写怎么写
  • 销售部购买电脑一台分录
  • 企业年度报告中的什么信息由企业选择是否向社会公示
  • 购入固定资产一次性扣除政策
  • 工程尾款要计入什么科目
  • 制造费用和生产成本影响营业利润吗
  • sql server临时表创建语句
  • windows优化软件哪个好
  • unix系统的最大特点
  • imapi.exe
  • shpc32.exe - shpc32是什么进程 有什么用
  • ISBMgr.exe - ISBMgr是什么进程 有什么作用
  • linux中qq怎么添加快捷键启动功能?
  • win10商店重置后不见了
  • perl的chomp
  • 批处理自动关机命令
  • python动态创建函数
  • javascript快速入门
  • jquery封装的函数
  • python中zip函数的用法
  • 数据字典实例详解
  • 文化事业建设税减免政策2023
  • 安徽省国家税务局电子税务局
  • 福建医保省外报销政策
  • 湖南国税网上营业厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设