0

Android開発について読み始めたばかりで、Eclipseを使用しています。私の質問は、Activity タグからの情報を使用して、どの xml ファイルを呼び出すかを AndridManifest ファイルがどのように認識しているのかということです。たとえば、新しいアクティビティを追加して、それを activity_two と呼んだところ、結果として Eclipse が 2 つのメイン ファイル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>タグ内に 1 つ以上のアクティビティ宣言があります。

 <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

この例では、2 つのアクティビティがあります。インテント <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メソッド内で、単純な行を記述してアクティビティにレイアウト ファイルを「与える」必要があります。setContentView(R.layout.activity_activity_two);

于 2013-02-03T04:09:31.160 に答える