使用Intent在活动之间穿梭

Intent是什么:

Intetnt是Android程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。Intent一般可被用于启动活动、启动服务以及发送广播等场景。

Intent启动方式:

分为两种:分别是显式Intent和隐式Intent

显式Intent:

Intent有多个构造函数的重载,其中一个是Intent(Context packageontext,Class<?>cls)。这个构造函数接收两个参数,第一个参数Context,要求提供一个启动活动的上下文,第二个参数Class则是指定想要启动的目标活动,通过这个构造函数就可以构建出Intent的“意图”。然后我们怎么使用这个Intent呢?Activity类提供了一个startActivity()方法,这个方法是专门用于启动活动的,它接收一个Intent参数,这里我们将构建好的Intent传入startActivity()方法中就可以启动目标活动了。
在这里插入图片描述

隐式Intent:

相比于显式Activity,隐式则含蓄了许多,它并不明确指出我们想要启动哪一个活动,而是指定了一系列更为抽象的action(行动)和category(类别)等信息,然后交由系统去分析这个Intent并帮我们找出合适的活动去启动。这个合适的活动,简单的来说就是可以响应我们这个隐式Intent的活动。
使用隐式Intent。我们不仅可以启动自己程序内的活动。还可以启动其他程序的活动,这使得Android多个应用程序之间的功能共享变成了可能。比如说你的应用程序中需要展示一个网页,这时候你没有必要自己去实现一个浏览器,事实上也不太可能,而是只需要调用系统的浏览器来打开这个网页就行了。
在这里插入图片描述
在这里插入图片描述

向下一个活动传递数据:

在启动活动时传递数据的思路很简单,Intent中提供了一系列putExtra()方法的重载,可以把我们想要传递的数据暂时存在Intent中,启动了另一个活动后,只需要把这些数据再从Intent中取出就可以了。比如说MainActivity中有一个字符串,现在想把这个字符串传递到SecondActivity中,你可以这样做:

在这里插入图片描述在这里插入图片描述
这里可以看到 loge的后面灰色的data里面就是我们传的data了

返回数据给上一个活动:

既然可以传递数据给下一个活动,那么肯定可以把数据返回给上一个活动。不过不同的是,返回上一个活动只需要按一下back键就可以了,并没有一个用于启动活动的Intent来传递数据。通过查阅文档你会发现,Activity中还有一个StartActivityResult()方法也是用于启动活动的,但是这个方法期望在活动销毁的时候能够返回上一个活动给上一个活动。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值