位置: 编程技术 - 正文

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

  • 超过小规模纳税人
  • 残保金季报要填上年职工人数
  • 取得交易性金融资产投资收益为什么在借方
  • 补交土地使用税到大厅怎么申报
  • 业务提成模版
  • 所有者权益变动表是什么报表
  • 免征增值税项目记忆
  • 高新技术企业发展现状
  • 没有销售收入可以有销售费用吗
  • 银行收费错误当天怎么办
  • 高温补贴领取
  • 年报中纳税总额怎么填
  • 单位收到社保补缴通知书后怎么办
  • 单位购买食品饮料的进项税可以抵扣吗?
  • 快递费税率是6还是9
  • 中小五金企业如何进行成本核算
  • 企业电子印章申请流程海口
  • 消费税的附加税和增值税的附加税
  • win7原版系统安装后没有任何驱动
  • windows 10如何使用
  • 华为mate pro翻转静音
  • 企业补充流动资金具体用途
  • css 栅格
  • videojs自定义按钮
  • 病毒dll文件
  • mac重装macos
  • pc程序是什么
  • u盘格式化技巧
  • 提取公益金会计科目
  • oss对象储存的副本储存原则
  • 通过session实现用户的登录与登出功能
  • 配件买不到
  • 安装人员食宿费谁承担
  • 2023英伟达显卡天梯图完整版
  • adan算法
  • 公司扣个税查不到怎么办
  • 递延所得税资产借贷方向
  • 企业所得税太高怎么合理规避
  • 预提费用汇缴时间怎么算
  • 自然人股东原价转让股权
  • 文化事业建设费报告表
  • 个人所得税表格怎么做
  • sql数据库降低版本
  • 企业给员工报销的个人消费支出如何计税
  • 小微企业是怎样自己认定的呢
  • 受托加工物资如何开票
  • 应付账款属于外币货币性项目吗
  • 金蝶主要业务及软件产品
  • 残疾人就业保障金征收使用管理办法
  • 存在弃置费用的固定资产例题
  • 支付工程款如何入账科目
  • 公司为员工租房应注意
  • 建账基本要求
  • 快启动U盘怎么进去
  • win10右键菜单自定义
  • win1010卸载
  • win8打开桌面
  • macoshosts文件位置
  • windows与linux的关系
  • linux程序死机
  • prevsrv.exe - prevsrv是什么进程 有什么用
  • windows8.1开始
  • xp如何更新
  • neoDVDstd.exe - neoDVDstd是什么进程 有什么用
  • packethsvc.exe - packethsvc是什么进程 有什么用
  • 错误化
  • opengl英文
  • 使用jquery操作dom
  • 如何使用node.js
  • android 布局
  • linux运行环境搭建
  • js面向对象编程实例
  • android点击按钮弹出对话框
  • web开发手机app
  • nodejss
  • node ffi
  • js网页背景色
  • 如何查询企业税收情况
  • 济南高新区国家税务局
  • 通州税务短信
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设