0

我刚开始阅读有关 android 开发的信息,并且正在使用 Eclipse。我的问题是 AndridManifest 文件如何知道使用来自活动标签的信息来调用哪个 xml 文件。例如,我刚刚添加了一个新活动并将其命名为 activity_two,结果 eclipse 为我生成了两个主文件ActivityTwo.javaactivity_activity_two.xml. 它还将活动标签添加到清单文件中

        <activity
            android:name=".ActivityTwo"
            android:label="@string/title_activity_activity_two" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

现在我的问题是 eclipse 是如何知道这个标签关联的activity_activity_two.xml

4

2 回答 2

2

你在混合东西。

ActivityTwo.java

是您的活动,您将在其中添加应用代码。在您的清单中,您有一个<manifest>类似于以下的标签,带有一个包声明。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.pedal"
    android:versionCode="1"
    android:versionName="1.0" >

如您所见,我的示例中的包是com.example.pedal.

然后你在你的<Application>标签中有一个或多个 Activity 声明。

 <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>
       <activity
        android:name=".ActivityTwo"
        android:label="@string/app_name" >
    </activity>

</application>

因此,要找到您的活动文件,它将使用您的活动名称加入包字符串:

com.example.pedal.MainActivity

在此示例中,有两个活动。Intent <category android:name="android.intent.category.LAUNCHER" /> 定义了应用程序启动时将执行的活动。

如果您的/src结构中有不同的包,您可以使用完整的包名称引用它们,并在清单中使用类

<activity
            android:name="com.example.PackageTwo.ActivityTwo"
            android:label="@string/app_name" >
        </activity>

activity_activity_two.xml

是一个布局文件。在那里,您将定义将在您的活动中显示的视图。它会是什么样子,哪些按钮,文本视图,无论您决定什么,正如@Procurares 上面回答的那样,这是使用以下定义的:

setContentView(R.layout.activity_activity_two);

开发人员指南提供了关于活动如何工作的非常好的指南。

也回答你的评论。我不确定活动的名称是否在捆绑包中传递(但我怀疑)。那里包含的信息是关于活动状态的,以防需要重新创建。这里有一篇关于这个主题的非常有用的帖子。

于 2013-02-03T05:00:01.277 回答
1

Eclipse 不知道任何活动的布局文件。
稍后,在OnCreate方法内部,您需要通过编写简单的行“给”Activity 她的布局文件:setContentView(R.layout.activity_activity_two);

于 2013-02-03T04:09:31.160 回答