美文网首页
Android程序没有main函数,那Android程序的执行入

Android程序没有main函数,那Android程序的执行入

作者: 椰子 | 来源:发表于2016-07-26 15:39 被阅读2233次

首先,我们可以了解,Android程序可以由一个或者多个Activity组成,每个Activity之间并没有很紧密的联系。
我们可以在自己的程序中调用其他的Activity,特别是自己的代码之外生成的其他Activity。
比如,Android提供的发短信、打电话的Activity:

//打电话
startActivity(new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phonenumber)); 
//发短信
startActivity(new Intent(Intent.ACTION_SENDTO,Uri.parse("smsto:"+phonenumber)); 

从这一点上看,其实Android程序是由多个Activity按照一定得到次序拼装起来的,并通过一些后台的数据传递,让Activity之间比较好的衔接起来了。

说了这么多呢,其实想想表示的是,Android没有像java、c那样具有main函数来作为程序的入口,Android程序提供的是入口Activity,而不是入口函数。

|
当我们新建一个Android Project的时候,系统会默认新建一个MainActivity,它实际就是入口Activity了,从哪里可以看出来呢?
AndroidManifest.xml 文件中定义了程序中所有Activity:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.dys.test">

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

从上面的代码中可以看出,action节点中的 android.intent.action.MAIN 表明它所在的Activity是整个程序的入口,而category中的 android.intent.category.LAUNCHER 意思是把这个Activityg归属到加载器类,即把这个Activity标注为自动会加载和启动的Activity,这样程序启动时候就先加载这个Activity了。

相关文章

网友评论

      本文标题:Android程序没有main函数,那Android程序的执行入

      本文链接:https://www.haomeiwen.com/subject/jhinjttx.html