この Codelab は、Android Kotlin の基礎コースの一部です。Codelab を順番に進めていくと、このコースを最大限に活用できます。すべてのコース Codelab は Android Kotlin の基礎 Codelab ランディング ページに掲載されています。
はじめに
この Codelab では、エミュレータと実機上で最初の Android アプリ HelloWorld を作成して実行します。また、Android プロジェクトの概要についても確認します。
前提となる知識
- Android Studio などの IDE(統合開発環境)を使用したオブジェクト指向アプリの一般的なソフトウェア開発プロセスを理解しておく必要があります。
- オブジェクト指向プログラミングの実務経験が 1 年以上あり、Java と Kotlin を理解している必要があります。
ラボの内容
- Android Studio で基本的な Android アプリを作成する方法
- テンプレートから Android プロジェクトを作成する方法。
- Android プロジェクトの主なコンポーネントを見つける方法。
- エミュレータまたは物理デバイスで Android アプリを実行する方法。
演習内容
- 新しい Android プロジェクトと、HelloWorld というデフォルトのアプリを作成します。
- コンピュータ上でアプリを実行できるように、エミュレータ(仮想デバイス)を作成します。
- 仮想デバイスと物理デバイスで HelloWorld アプリを実行します。
- プロジェクトのレイアウトを確認する。
AndroidManifest.xml
ファイルを調べます。
HelloWorld アプリが Android 仮想デバイスまたは物理デバイスの画面に「Hello World」という文字列を表示します。アプリは以下のようになります。
このタスクでは、新しいアプリ プロジェクトを作成して、Android Studio が正しくインストールされていることを確認します。
- Android Studio をまだ開いていない場合は、開きます。
- [Welcome to Android Studio] ダイアログで、[Start a new Android Studio project] をクリックします。
- [Choose your project] ダイアログが表示されます。下図のように [Empty Activity] を選択し、[Next] をクリックします。
Activity
は、ユーザーが 1 つに集中できる機能です。すべてのアプリには、エントリ ポイントとして少なくとも 1 つのアクティビティが必要です。このエントリ ポイント アクティビティを、他のプログラムのmain()
関数と考えてください。アクティビティには通常、ユーザー インターフェース(UI)要素が画面に表示される方法を定義するレイアウトが関連付けられます。Android Studio には、使い始める際に役立つActivity
テンプレートがいくつか用意されています。 - [Configure your project] ダイアログで、[Name] に「HelloWorld"」と入力します。
- [会社のドメイン] については、デフォルトの android.example.com をそのまま使用するか、固有の企業ドメインを作成します。この値とアプリ名は、アプリのパッケージ名です。アプリを公開する予定がない場合は、デフォルトの値をそのまま使用してください。アプリのパッケージ名は後で変更できますが、追加の作業です。
- デフォルトの [Save location] がアプリの保存場所であることを確認します。保存されていない場合は、優先ディレクトリに移動します。
- [Language] が Kotlin になっていることを確認します。
- 最小 API レベルが [API 19: Android 4.4 (KitKat)] であることを確認します。この Codelab の執筆時点では、Android Studio でこの API レベルを使用すると、アプリが約 95.3% のデバイスで実行されることが示されました。
(最小 API レベルについて詳しくは、後の Codelab で説明します)。[Help me choose] をクリックすると、API レベルに関する情報が表示されたウィンドウが表示されます。詳しくはこちらをご覧ください。 - [AndroidX アーティファクトを使用する] チェックボックスをオンにします。
- その他のチェックボックスはすべてオンのままにして、[完了] をクリックします。選択したターゲット SDK に対してもっと多くのコンポーネントがプロジェクトに必要になった場合、Android Studio は自動的にインストールするため、しばらく時間がかかることがあります。表示される指示に従い、デフォルトのオプションを受け入れます。
Android Studio でプロジェクトが作成されますが、この処理には時間がかかることがあります。エラーは表示されません。警告が表示された場合は無視してください。
このタスクでは、Android Studio の HelloWorld プロジェクトや、Android Studio を使用した開発の基本について学習します。
ステップ 1: [Project] ペインを確認する
- [Project] タブをまだ選択していない場合は、選択します。[Project] タブは、Android Studio ウィンドウの左側の垂直タブ列にあります。[Project] ペインが開きます。
- プロジェクトを標準の Android プロジェクト階層として表示するには、[Project] ペインの上部にあるプルダウン メニューから [Android] を選択します。(デフォルトは Android です)。プロジェクト ファイルは、ファイルシステム階層での見え方など、さまざまな方法で表示できます。Android ビューを使用すると、プロジェクトでの操作が簡単になります。
ステップ 2: アプリのフォルダを確認する
アプリのコードとリソースはすべて app
フォルダ内にあります。
- [Project > Android] ペインで、[app] フォルダを展開します。
app
フォルダには、4 つのサブフォルダmanifests
、java
、generatedJava
、res
があります。 - java フォルダを展開し、com.example.android.HelloWorld フォルダを展開して、MainActivity Kotlin ファイルを表示します。
「java」フォルダには、Android アプリのすべての Kotlin コードが含まれています。Java フォルダに Kotlin コードが表示される理由は以前からありました。この規則により、Kotlin は、同じプロジェクトやアプリであっても、Java プログラミング言語で記述されたコードとシームレスに相互運用できます。
上の図に示すように、アプリのクラスファイルは 3 つのサブフォルダに含まれています。com.example.hello.helloworld(または指定したドメイン名)フォルダには、アプリ パッケージのファイルがすべて含まれています。特に、MainActivity
クラスは、アプリのメイン エントリ ポイントです。MainActivity
については、次の Codelab で詳しく説明します。java
フォルダ内の他の 2 つのフォルダは、単体テストなどのテストに関連するコードに使用されます。
- [generatedJava] フォルダをメモします。このフォルダには、Android Studio がアプリをビルドするときに生成されるファイルが含まれています。アプリを再ビルドすると、変更がオーバーライドされる可能性があるため、このフォルダには何も編集しないでください。ただし、デバッグ時にこれらのファイルを確認する必要がある場合は、このフォルダを把握しておくと便利です。
ステップ 3: res フォルダを確認する
- [Project > Android] ペインで、[res] フォルダを展開します。
[res] フォルダには、リソースが格納されています。Android のリソースは、アプリに使用される静的コンテンツです。リソースには、画像、テキスト文字列、画面レイアウト、スタイル、値(16 進数の色、標準サイズなど)があります。
Android アプリは、Kotlin コードとリソースを可能な限り分離します。これにより、アプリの UI で使用されているすべての文字列やアイコンを簡単に見つけることができます。また、いずれかのリソース ファイルを変更すると、そのファイルがアプリで使用されているすべての場所で変更が有効になります。 - res フォルダ内で layout フォルダを展開して、
activity_main.xml
ファイルを表示します。
Activity
は通常、res/layout
ディレクトリ内で XML ファイルとして定義される UI レイアウト ファイルに関連付けられます。このレイアウト ファイルは通常、アクティビティに基づいて名前が付けられます。この場合、アクティビティ名は MainActivity
で、関連付けられているレイアウトは activity_main
です。
ステップ 4: マニフェスト フォルダと AndroidManifest.xml を確認する
manifests
フォルダには、アプリに関する重要な情報を Android システムに提供しているファイルが含まれています。
- [manifests] フォルダを展開し、[AndroidManifest.xml] をダブルクリックして開きます。
AndroidManifest.xml
ファイルには、アプリを実行するために Android システムが行う必要のある詳細情報(アプリに含まれるアクティビティなど)が含まれています。 MainActivity
は<activity>
要素で参照されます。アプリ内のActivity
はマニフェストで宣言する必要があります。MainActivity
の例を次に示します。
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity>
内の<intent-filter>
要素に注意してください。このインテント フィルタの<action>
要素と<category>
要素は、ユーザーがランチャー アイコンをクリックしたときに、アプリを起動する場所を示します。インテント フィルタの詳細については、後の Codelab で説明します。
AndroidManifest.xml
ファイルには、アプリが必要とする権限を定義する場所もあります。権限には、アプリがスマートフォンの連絡先を読み取ること、インターネット経由でデータを送信すること、デバイスのカメラなどのハードウェアにアクセスする権限が含まれます。
Gradle は、ドメイン固有の言語を使ってアプリのプロジェクト構造、構成、依存関係を記述するビルド自動化システムです。アプリをコンパイルして実行すると、Gradle のビルドが実行中であるという情報が表示されます。インストール中の Android パッケージ キット(APK)に関する情報も表示されます。(APK は、Android オペレーティング システムがモバイルアプリの配布とインストールに使用するパッケージ ファイル形式です)。
Gradle システムを確認します。
- [Gradle Scripts] フォルダを展開します。[Project > Android] ペインには、このフォルダにはビルドシステムで必要なすべてのファイルが含まれます。
- build.gradle(Project: HelloWorld) ファイルを探します。
このファイルには、プロジェクトを構成するすべてのモジュールに共通する構成オプションが含まれています。すべての Android Studio プロジェクトには、トップレベルの Gradle ビルドファイルが 1 つ含まれています。このファイルは、プロジェクト内のすべてのモジュールに共通する Gradle リポジトリと依存関係を定義します。 - build.gradle(Module:app) ファイルを探します。
モジュール レベルのbuild.gradle
ファイルに加えて、各モジュールには独自のbuild.gradle
ファイルがあります。モジュール レベルのbuild.gradle
ファイルを使用すると、各モジュールのビルド設定を指定できます。(HelloWorld アプリにはモジュールが 1 つしかありません。アプリ自体のモジュールです)。このbuild.gradle
ファイルは、アプリレベルのビルド構成を変更するときに最も頻繁に編集されるファイルです。たとえば、アプリがサポートする SDK レベルを変更する場合や、dependencies
セクションで新しい依存関係を宣言する場合に、このbuild.gradle
ファイルを編集します。これら両方については、後の Codelab で詳しく説明します。
このタスクでは、Android Virtual Device(AVD)Manager を使用して仮想デバイス(エミュレータ)を作成します。仮想デバイスは、特定の種類の Android デバイスの構成をシミュレートします。その後、その仮想デバイスを使用してアプリを実行します。
Android Emulator は独立したアプリであり、独自のシステム要件があります。仮想デバイスは、ディスク容量を大量に消費する可能性があります。問題が発生した場合は、Android Emulator 上でアプリを実行するをご覧ください。
ステップ 1: Android Virtual Device(AVD)を作成する
パソコンでエミュレータを実行するには、仮想デバイスを記述した構成を作成する必要があります。
- Android Studio で [Tools > AVD Manager] を選択するか、ツールバーの AVD Manager アイコン
をクリックします。[Your Virtual Devices] ダイアログが表示されます。すでに仮想デバイスを作成している場合は、ダイアログにそれが表示されます(次の図を参照)。それ以外の場合は、空白リストが表示されます。
- ダイアログの左下にある [+Create Virtual Device] をクリックします。[Select Hardware] ダイアログが開き、事前構成済みのハードウェア デバイスのリストが表示されます。表には、デバイスごとに対角表示サイズ(サイズ)、画面解像度(ピクセル単位、解像度)、ピクセル密度(密度)の列があります。
- Nexus 5x や Pixel XL などのデバイスを選択し、[次へ] をクリックします。[System Image] ダイアログが表示されます。
- [Recommended] タブをクリックし、仮想デバイスで実行する Android システムのバージョン(Pie など)を選択します。
- システム イメージを選択したら、[次へ] をクリックします。[Android Virtual Device (AVD)] ダイアログが開きます。構成を確認し、[Finish] をクリックします。
ステップ 2: 仮想デバイスでアプリを実行する
このタスクでは、新しいアプリを実行します。
- Android Studio で [Run > Run app](アプリの実行)を選択するか、ツールバーの実行アイコン
をクリックします。[Select Deployment Target] ダイアログが表示され、使用可能なデバイスがないという警告が表示されます。この警告は、開発用コンピュータに実機が接続されていない場合、または仮想デバイスをまだ起動していない場合に表示されます。
- [Select Deployment Target] ダイアログの [Available Virtual Devices] で、作成した仮想デバイスを選択します。[OK] をクリックします。
エミュレータは実機と同じように起動します。この処理には、パソコンの処理速度によっては時間がかかることがあります。アプリがビルドされ、エミュレータの準備が整うと、Android Studio によってアプリ APK がエミュレータにアップロードされて実行されます。
次の図に示すように、HelloWorld アプリが表示されます。
このタスクでは、スマートフォンやタブレットなどの実機のモバイル デバイスでアプリを実行します。仮想デバイスと物理デバイスの両方で、常にアプリをテストします。
要件:
- スマートフォンまたはタブレットなどの Android デバイス。
- USB ポート経由で Android デバイスをパソコンに接続するための USB データケーブル。
- Linux または Windows システムを使用している場合は、追加の手順が必要になることがあります。ハードウェア デバイス上でのアプリの実行をご覧ください。デバイスに適した USB ドライバのインストールが必要な場合もあります。Windows ベースの USB ドライバについては、OEM USB ドライバをインストールするをご覧ください。
ステップ 1: USB デバッグを有効にする
Android Studio が Android デバイスと通信できるようにするには、デバイスの [開発者向けオプション] の設定で [USB デバッグ] を有効にする必要があります。
Android 4.2(Jellybean)以降の場合、[開発者向けオプション] の設定はデフォルトで非表示になっています。開発者向けオプションを表示して USB デバッグを有効にするには:
- デバイスで [設定] を開き、[デバイス情報] を検索して [デバイス情報] をタップし、[ビルド番号] を 7 回タップします。
- 前のページ([設定] / [システム])に戻ります。[開発者向けオプション] がリストに表示されます。[開発者向けオプション] をタップします。
- [USB デバッグ] を選択します。
ステップ 2: Android デバイスでアプリを実行する
デバイスを接続して、Android Studio からアプリを実行できるようになりました。
- USB ケーブルで開発マシンに Android デバイスを接続します。USB デバッグの許可を求めるダイアログがデバイスに表示されます。
- [常に許可する] を選択すると、このパソコンの情報が保存されます。[OK] をタップします。
- パソコンの [Android Studio] ツールバーで、[Run] ボタン
をクリックします。[Select Deployment Target] ダイアログが開き、使用可能なエミュレータと接続済みのデバイスのリストが表示されます。エミュレータとお使いの実機が表示されます。
- お使いのデバイスを選択して、[OK] をクリックします。Android Studio によってそのデバイスにアプリがインストールされて実行されます。
トラブルシューティング
Android Studio がお使いのデバイスを認識しない場合は、以下の手順をお試しください。
- USB ケーブルを外し、接続し直します。
- Android Studio を再起動します。
上記の手順を行ってもパソコンでデバイスが検出されない場合や「不正な」と宣言した場合は、以下の手順を行ってください。
- USB ケーブルを外します。
- デバイスの設定アプリで開発者向けオプションを開きます。
- [USB デバッグの許可の取り消し] をタップします。
- パソコンにデバイスを再接続します。
- 承認を求めるメッセージが表示されたら、許可します。
デバイスに適した USB ドライバのインストールが必要になることがあります。ハードウェア デバイス上でのアプリの実行をご覧ください。
課題: 設定が完了し、基本的な開発ワークフローを理解したところで、以下の作業を行います。
- Android Studio で新しいプロジェクトを作成します。
- 「Hello World」という挨拶を「Happy Birthday」に、最近誕生日を迎えた人の名前に変更します。
- Android Studio をインストールするには、Android Studio に移動し、手順に沿ってダウンロードしてインストールします。
- [Project] ペインでアプリの Android 階層を表示するには、縦のタブ列の [Project] タブをクリックします。次に、上部のプルダウン メニューで [Android] を選択します。
- プロジェクトに新しい依存関係を追加したり、依存関係のバージョンを変更したりする必要がある場合は、
build.gradle(Module:app)
ファイルを編集します。 - アプリのすべてのコードとリソースは
app
フォルダとres
フォルダにあります。java
フォルダには、Kotlin や Java のソースコード、あるいはその両方で、アクティビティ、テスト、その他のコンポーネントが含まれています。res
フォルダには、レイアウト、文字列、画像などのリソースが格納されます。 - Android アプリに機能、コンポーネント、権限を追加するには、
AndroidManifest.xml
ファイルを編集します。追加のアクティビティなど、すべてのアプリ コンポーネントはこの XML ファイルで宣言する必要があります。 - アプリを実行する Android 仮想デバイス(エミュレータ)を作成するには、AVD Manager を使用します。
- Android Studio を使用して実機の Android デバイスでアプリを実行するには、そのデバイスで USB デバッグを有効にします。確認するには、[設定] > [デバイス情報] を開き、[ビルド番号] を 7 回タップします。[設定] > [開発者向けオプション] を開き、[USB デバッグ] を選択します。
Udacity コース:
Android Studio のドキュメント:
- Android Studio のダウンロード ページ
- Android Studio リリースノート
- Android Studio の概要
- 仮想デバイスを作成、管理する
- アプリ マニフェストの概要
- ビルドを設定する
- 仮想デバイスを作成、管理する
その他:
このセクションでは、インストラクターが主導するコースの一環として、この Codelab に取り組む生徒の課題について説明します。教師は以下のことを行えます。
- 必要に応じて課題を割り当てます。
- 宿題の提出方法を生徒に伝える。
- 宿題を採点します。
教師はこれらの提案を少しだけ使うことができます。また、他の課題は自由に割り当ててください。
この Codelab にご自分で取り組む場合は、これらの課題を使用して知識をテストしてください。
アプリをビルドして実行する
- 空のテンプレートから新しい Android プロジェクトを作成します。
res/strings.xml
ファイルを開きます。app_name
文字列の値を「My Dice Roller」に変更します。この名前はタイトルバーに表示されます。- 任意のバージョンの Android をターゲットとするデバイスのエミュレータを作成し、アプリを実行します。アプリのタイトルがどのように変更されたかを確認します。
次の質問に答えてください。
問題 1
メイン アクティビティのレイアウト ファイルの名前は何ですか。
MainActivity.java
AndroidManifest.xml
activity_main.xml
build.gradle
質問 2
アプリの名前を指定する文字列リソースの名前は何ですか。
app_name
xmlns:app
android:name
applicationId
問題 3
新しいエミュレータの作成には、どのツールを使用しますか。
- Android Device Monitor
- AVD Manager
- SDK Manager
- Theme Editor
アプリを送信して採点する
アプリが以下の要件を満たしていることを確認します。
- 画面に「Hello World」と表示する
Activity
。 - 「My Dice Roller」というタイトルのタイトル バー
次のレッスンを開始する:
このコースの他の Codelab へのリンクについては、Android Kotlin の基礎 Codelab ランディング ページをご覧ください。