ある日、Visual Studio (for Mac) で選択するプロジェクトテンプレートごとに Android の MainActivity クラスのベースクラスが違うことに気が付きました。
気になったので、どのテンプレートがどのベースクラスになるか試してみました。
■ プロジェクトテンプレートごとの MainActivity のベースクラス
プラットフォーム | プロジェクトテンプレート | Activity のベースクラス |
---|---|---|
Windows | モバイル アプリ (Xamarin.Forms) | Xamarin.Forms.Platform.Android.FormsAppCompatActivity |
Windows | Android アプリ (Xamarin) | AppCompatActivity |
Windows | 空のアプリ (Android) | Activity (F# プロジェクトが作成される) |
mac | Xamarin.Forms 各種 | Xamarin.Forms.Platform.Android.FormsAppCompatActivity |
mac | ネイティブ アプリ (iOS、Android) | AppCompatActivity |
mac | 空のネイティブ アプリ (iOS、Android) | Activity |
mac | Android アプリ | AppCompatActivity |
mac | 空の Android アプリ | AppCompatActivity |
※ for Mac で言語の選択はすべて C# を選択しています。
■ Activity クラスがベースクラスになるテンプレート
mac の 空のネイティブ アプリ (iOS、Android) だけが Activity がベースクラスになりました。
※F# プロジェクトである Windows の空のアプリ (Android)は別として