android入门(七) 消息提示toast和Context

toast用于向用户显示一些帮助和提示信息
特点:
1、没有焦点;
2、显示时间有限,自动消失。

我们简单的创建一个按钮,绑定onclick事件,如下调用Toast事件

        Toast.makeText(this, "toast", Toast.LENGTH_LONG).show();

运行之后效果如下:
这里写图片描述

我们来详细看一下Toast.makeText()的javadoc
这里写图片描述
第一个参数需要传入一个Context,第二个是提示文本,第三个是显示的时间。

关于第一个参数Context,上面写着通常是传入android.app.Application或者android.app.Activity。而我们传入的是this,也就是Activity。另外,我们还可以传this.getApplicationContext(),也就是Application。

想必Activity和Application一定是Context的子类,或者实现了Context接口。

我们参看一下android API 的Context类,如下:
这里写图片描述

context提供了关于应用环境的全局信息接口。它是一个抽象类,由android系统提供实现。通过context我们可以加载资源,获取由android系统提供的一些服务类。

简单点说,就是我们的应用程序通过context与系统的其他环境打交道。

而Activity Context和Application Context有什么区别呢?该用哪个呢?我们来看一下官方对getApplicationContext()方法的说明
这里写图片描述
简而言之ApplicationContext生命周期长。但是,如果你什么地方都是去用ApplicationContext的话,容易造成内存泄漏。

我们可以把Activity Context和Application Context对比javaweb中的request和aplication来学习。他们有相似的地方。前者生命周期是当前请求,后者是整个应用。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值