程序员Android开发Android开发经验谈

Android 开发 Activity的生命周期、启动模式和In

2018-08-19  本文已影响63人  maoqitian

我们知道Android 有四大组件,其中使用最频繁的就是 Activity,可以说应用的很多界面都是Activty,所有对于Android的基础来说,我们要好好认识一下Activity.

Activty的生命周期

Activty的启动模式

IntentFilter匹配规则

Intent intent = new Intent(WelcomeActivity.this,MainActivity.class);
 <activity android:name=".TestActivity">
            <intent-filter >
                <action android:name="com.mao.action.Test"/>
                <action android:name="com.mao.action.Test1"/>
                <category android:name="com.mao.category.Test"/>
                <category android:name="com.mao.category.Test2"/>
                <category android:name="android.intent.category.LAUNCHER" />
                <data android:mimeType="image/*"
                          android:host="mao"/>
            </intent-filter>
        </activity>
<data
                    android:scheme="string"  //URI的模式,比如http、file、content,没有指定,则URI无效
                    android:mimeType="string"//媒体类型,例如image/jpeg、audio/mpeg4-generic、video/*
                    android:host="string"//URI的主机名,没有指定则URI无效
                    android:path="string"//URI端口号
                    android:port="string"//完整路径信息
                    android:pathPattern="string"//完整路径信息
                    android:pathPrefix="string"//路径前缀信息
                    />
例子(1):
<data android:mimeType="image/*"
       android:host="mao"/>  这里没有设置scheme,因为scheme有默认值content和file

intent.setDataAndType(Uri.parse("file://mao"),"image/png");//必须调用该方法,不能分别调用setData()和setType方法,这两个方法会清除对方的值

例子(2):
 <data android:scheme="http"
           android:mimeType="video/mpeg"
            android:host="www.mao.cn"
/>
intent.setDataAndType(Uri.parse("http://www.mao.cn"),"image/mpeg");

相信到了这里你已经懂得如何隐式启动一个Activity了,前面例子中的Activity我们可以这样隐式启动

Intent intent=new Intent("com.mao.action.Test");
        intent.addCategory("com.mao.category.Test");
        intent.setDataAndType(Uri.parse("file//mao"),"image/mpeg");
        startActivity(intent);

最后

知识久了不用就会忘记,我希望自己看到这一篇文章的时候能将遗忘的一些基础知识重新找回,也希望能帮助到看到这篇文章的你。文章中如果有错误,请大家给我提出来,大家一起学习进步,如果觉得我的文章给予你帮助,也请给我一个喜欢或者关注。

上一篇 下一篇

猜你喜欢

热点阅读