(自分のお気に入りになっておめでとう、あなたはプレイのリンク;-)
を提供しなければならないあなたが言うように、パッケージ名は簡単ですが、それはpackage
としてマニフェストに定義されている
感謝manifest
要素の属性:
<manifest .... package="com.sushihangover.playscriptstarling2" ...>
ランチャークラス名はActivity
C#クラス属性、「真MainLauncher =」内タグ付けされたクラスです
はターンでは、これはマニフェストの中activity
属性フラグメントを作成します。それはピリオドで始まっていないので、
<activity android:icon="@mipmap/icon" android:label="PlayScriptStarling2" android:name="md5d2519388ea1895e3e3594794d2e0c4ce.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
あなたのクラス名がいっぱいandroid:name
属性です。これは、このように私の例では、これは完全なクラス名で、生成されたユニークなサブクラスの識別子である:ほとんどの人は、このクラスのIDを見ることはないだろうが
md5d2519388ea1895e3e3594794d2e0c4ce.MainActivity
、I 非常にはあなたをお勧めします、これはクラス識別子を生成し、使用して上書きしますあなたのパッケージ名を含むドットクラス表記法。ピリオドで始まる
通常、これはandroid:name
を使用して名前を提供することによって行われ(これは101 ;-)を命名標準のAndroidのクラスですが、Xamarinは現在、A/Wから始まるないサポートアンドロイド速記スタイルのクラス名を行いますドットを使用すると、完全修飾パッケージ名をクラスID名で使用する必要があります。
だから、主な活動の属性は次のようになります。
<activity android:icon="@mipmap/icon" android:label="PlayScriptStarling2" android:name="com.sushihangover.playscriptstarling2.MyBigBadGameEveryOneShouldPlay">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
そして、私のランチャークラス名は次のようになります:
[Activity(Label = "PlayScriptStarling2", Name = "com.sushihangover.playscriptstarling2.MyBigBadGameEveryOneShouldPlay", MainLauncher = true, Icon = "@mipmap/icon")]
そして、生成されたマニフェストにはなり
com.sushihangover.playscriptstarling2.MyBigBadGameEveryOneShouldPlay
Androidのドキュメント:
活動()、サービス()、放送受信機()、及びコンテンツプロバイダ -
宣言クラス名
多くの要素は、アプリケーション自体(要素)とその主要コンポーネントの要素を含む、Javaオブジェクトに対応します()。
コンポーネントクラス(Activity、Service、BroadcastReceiver、およびContentProvider)のほとんどの場合と同様に、サブクラスを定義すると、サブクラスはname属性によって宣言されます。名前には完全なパッケージ名を含める必要があります。たとえば、次のようにサービス・サブクラスを宣言される可能性があります。
<manifest . . . >
<application . . . >
<service android:name="com.example.project.SecretService" . . . >
. . .
</service>
. . .
</application>
</manifest>
しかし、文字列の最初の文字がピリオドであれば省略形として、文字列は、アプリケーションのパッケージ名に付加されます(要素のpackage属性で指定されているとおり)。
次の割り当ては上記と同じである。
<manifest package="com.example.project" . . . >
<application . . . >
<service android:name=".SecretService" . . . >
. . .
</service>
. . .
</application>
</manifest>
コンポーネントを開始、Androidは名前サブクラスのインスタンスを作成します。サブクラスが指定されていない場合は、基本クラスのインスタンスが作成されます。
参考:http://developer.android.com/guide/topics/manifest/manifest-intro.html
参考:あなたの完全な答えをhttps://developer.xamarin.com/guides/android/advanced_topics/working_with_androidmanifest.xml/#Intent_Actions_and_Features
ありがとうを! –
NP、そしてもう一度おめでとう – SushiHangover
私のではなく、威信を持っているクライアント。今年の夏のブラジルでの試合のために、もし私が何を意味するのか分かっているなら。そして、私はちょうど私がそれについて話すことが許されているかどうかわからないので、私の投稿の初めを修正しました...あなたの迅速な答えにもう一度感謝! –