久しぶりに新規でAndroidアプリの開発をしようかと思い、Android Studioを最新に更新し、New Projectを開いたところ、若干プロジェクトのTemplatesが以前と違うような気がしました。「Gemini API Starter」とかあります。
今まではXML形式でUIを表記していたのですが、最近はJetpack Composeを使用してUIを関数で書くのが主流になりつつあるらしい。ただ、どのProjectのtemplateがComposeに対応した書き方なのか一見しただけではわからないので、とりあえず、全部のTemplateを使ってProjectを作ってみました。必要なのは、Composeを使用したProjectだけなのですが。
今回は2025年2月時点で最新の「Android Studio Ladybug Feature Drop | 2024.2.2」(Mac版)でどのようなプロジェクトが作成されるのか確認します。
まずは「Phone and Tablet」一覧を見てみます。「Wear OS」などは現状開発予定がないので、ここでは扱いません。
また、C++も扱いません。
- No Activity
- Empty Activity
- Gemini API Starter
- Basic Views Activity
- Bottom Navigation Views Activity
- Empty Views Activity
- Navigation Drawer Views Activity
- Resposive Views Activity
- Game Activity (C++)
- Native C++
まずは、「No Activity」から


必要最低限のファイルしか作成されません。ビルドとリソース関連ぐらいです。
ビルドはできますが、エミュレータで実行しようとすると「Default Activity not found」と表示され、エラーとなり、実行できません。そのため自力でActivityを作成する必要があります。
Empty Activity


Jetpack Composeを使ったプロジェクトが作成されます。
Activityは”MainActivity.kt”のみでビルド、実行すると画面に「Hello Android!」と表示されます。
“build.gradle.kts”にJetpack Composeで使用する必要最低限のライブラリも記載されています。
「Empty Activity」をベースにJetpack Composeを使用したアプリは作成できそうです。
目的は達成されましたが、せっかくなので他のtemplateも確認します。
Basic Views Activity


Jetpack Composeを使用しない従来の方法(ViewをXML表記)で作成するプロジェクトが作成されます。
Activityは”MainActivity.kt”の1つで、Fragmentが”FirstFragment.kt”、”SecondFragment.kt”の2つから構成されています。UIはリソースファイル(xml)で各画面毎に作成されています。これは以前からあった気がします。
Bottom Navigation Views Activity


こちらは画面の最下部に画面切り替え用の3つのボタンが付いたプロジェクトになります。ViewModelを使用しています。ViewはXMLで記述します。
Activityは1つで”MainActivity.kt”のみ、3つの各画面用にFragmentとViewModelが用意されています。
Empty Views Activity


Activityは1つで”MainActivity.kt”のみです。ViewはXMLで記述します。
確証はないですが、これが以前の”Empty Activity”のTemplateだったような気がします。
Navigation Drawer Views Activity


Activityは1つで”MainActivity.kt”のみです。ViewはXMLで記述します。
構成は「Bottom Navigation Views Activity」に似ています。
Responsive Views Activity


Activityは1つで”MainActivity.kt”のみです。ViewはXMLで記述します。
リソース関連のファイルが他に比べると多いようです。
Jetpack Composeを使用しているTemplatesは?
New Projectで作成できるProjectでJetpack Composeに対応しているのは、「Empty Activity」のみのようです。
「Empty Activity」を選択すると「Language」の項目が表示されず、強制的に[Kotlin]のみとなるようです。
Jetpack ComposeがKotlinに依存しているからでしょう。今後、新規でアプリケーションを作成するときはKotlinを使用しましょうということでしょう。
ビルドについて
プロジェクトを作った後にMainActivity.ktなどソース・ファイルでlintチェックのエラー表示がされている場合があります。そのときはプロジェクトフォルダ内のgradeフォルダ内のlibs.versions.homiファイルの[versions]の各ライブラリのバージョンを最新にし、[Sync Now]を実行するとエラーが消えることがあります。それでもエラーの場合はbuild.grade.ktsファイルを細かく確認すればエラーなしになります。たぶん。
コメント