显式Intent和隐式Intent的学习

Intent被称为意图,是程序中各组件间进行交互的一种重要方式,它不仅可以指定当前组件要执行的动作,还可以在不同组件之间进行数据传递。一般用于启动Activity、Service以及发送广播等。


Intent根据开启目标组件的方式不同分成两种类型:

1.显式Intent
2.隐式Intent



显式Intent

显式Intent 指的是直接指定目标目标组件,如:

Intent intent=new Intent(this,SecondActivity.class);
startActivity(intent);

为创建Intent的传入了两个参数,第一个参数this表示当前的Activity,第二个参数表示为跳转目标的Activity。
直观点,上手做一做。
先创建一个android项目,在自己java/com.example包中创建第二个Activity文件,名字自己喜欢,认得出来就好。

在这里插入图片描述
如图我自己写的程序中,先创建一个Intent对象,参数设置

( this,Main2Activity.class)
this即为当前的这个Activity
Main2Activity.class即为我们新创建的第二个Activity,同时也是我们想跳转到的Activity


隐式Intent

隐式Intent 不会明确指出需要激活的目标组件,它被广泛地应用在不同应用程序之间传递消息。
Android系统会使用IntentFilter匹配相应的组件,匹配的属性有三个:

属性释义
action表示Intent对象要完成的动作
data表示Intent对象中传递的数据
category表示为action添加的额外信息

使用隐式Intent开启Activity需要在清单文件去配置这三个属性,如:
在这里插入图片描述
在当前的Activity文件中创建一个Intent对象,为这个对象设置action属性为cn.itcast.START_ACTIVITY
最后再加一个开启代码startActivity(intent);
这时候需要去清单文件去配置你想跳转到的Activity文件,即Main2Activity.java。

<activity android:name=".Main2Activity">
            <intent-filter>
                <action android:name="cn.itcast.START_ACTIVITY"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>

<intent-filter>标签中把action配置为和MainActivity.java中的action一样。
下一行category这行,写的原因是在使用隐式Intent开启Activity时,会默认为该Intent对象添加category。默认配置的内容就是这行android.intent.category.DEFAULT,这里设置好,应该运行就能完成隐式Intent的跳转。


想要效果明显点,一看就知道跳转到了其他Activity就在视图文件下加入一些文本或者其他的东西,我就选择加了一点字来分辨:
在这里插入图片描述



End.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值