android studio各个活动组件之间转换的桥梁------Intent,显示的,隐示的,不同程序之间隐示的

Intent:它是各个活动组件之间进行转换交互的重要方式,不仅可以指明当前组件想执行的活动,也可以在不同活动之间传递数据,也就是不同组件之间传递数据。

在此我们介绍三种:

1.本程序的显示Intent

2.本程序的隐示Intent

3.不同程序之间的Intent

首先

我们来介绍第一种显示的Intent,由于按钮事件我们以前已经介绍过,不在赘述,我们在这里定义一个按钮,如果点击

按钮的话,我们就跳到另一个指定的活动。

button.setOnClickListener(new View.OnClickListener()
{
     public void onClick(View v)
    {
    Intent intent=new Intent(FirstActivity.this,SecondActivity.class);
    //第一个参数:启动活动的上下文,也就是这个活动
    //第二个参数:要启动的目标活动
    startActivity(intent);
    //开启指定的活动
    }
});

显示的Intent还是比较简单的,总的来说就是先定义方向,在方向的基础上开启活动。

其次

我们来介绍一下隐示的Intent

第一步:在AndroidManifest.xml中加入如下代码,作为一个活动的属性,标签,当有一个Intent以一个属性来找的时候

正好这个活动的属性对上了,那么他也就被调用了。

<activity android:name=".SecondActivity">
    <intent_filter>
        <action android:name="com.example.activitytest.ACTION_START"/>
        <catagort android:name="android.intent.category_DEFAULT"/>
        //一共有两个属性,一个是动作名字,一个是目录名字
    </intent_filter>
</activity>

第二步:在按钮点击事件中定义,按钮点击事件也就是显示Intent所定义的内容的里面

button.setOnClickListener(new View.OnClickListener()
{
     public void onClick(View v)
    {
    Intent intent=new Intent("com.example.activitytest.ACTION_START");
    intent.addCategory("android.intent.category_DEFAULT");
    //找到符合上述属性的活动,因为我们已经把它定义在了SecondActivity中,所以,开启的
    //是SecondActivity活动
    startActivity(intent);
    }
});

最后

介绍一下不同程序之间的活动的调用

第一步:将按钮点击事件定义如下,找到我所想要的活动


button.setOnClickListener(new View.OnClickListener()
{
     public void onClick(View v)
    {
    Intent intent=new Intent(Intent.ACTION_VIEW);//内置动作
    intent.setData(uri.parse("http://www.baidu.com"));
    //将地址封装为对象,用SetData指定要操作的数据
    startActivity(intent)
    }
});

第二步:在另一个程序,可以处理这个地址的浏览器中,在AndroidManifest.xml中的<intent_filter>中加入如下代码

<data android:scheme="http"/>

检测对方要处理的数据,如果是我可以处理的数据,匹配上了,那么我这个活动就启动,并执行相应的动作。

总而言之,隐示的就是首先我要找一个特定属性的活动,之后有一个特定的属性和它对上了,那么这个活动也就开启了

猜你喜欢

转载自blog.csdn.net/qq_41901915/article/details/81414456