今後の学習の方針として、Google が提供している Android アプリ作成のチュートリアルである Codelabs を使用して勉強していきたいと思います。このサイトは基本的には英語でのチュートリアルとなっているので、日本語に直したもの + 自分なりのコメント、まとめのような形で進めていこうかと思います👨💻
codelabs.developers.google.com
プロジェクトの作成をしてみる
Android Studio を開きます。
アプリを立ち上げたら
Start a new Android Studio project
をクリックします。
Choose your project
ダイアログで、Empty Activity
を選択して次に進みます。
Configure your project
ダイアログでName
に "Hello world" を入力します。
言語が Kotlin になっていることを確認します。
最小 API レベルが API 19:Android 4.4(KitKat) であることを確認します。現時点では、デバイスの 95.3% がこのアプリを実行できるようになるそうです。
Use AndroidX artifacts
をオンにします。Finish
ボタンをクリックしてプロジェクトを作成します。
ちょっとメモ
- 全てのアプリにはエントリポイントとして少なくとも1つのアクティビティが必要です。
- 最初に表示されるべき画面は最低1つ以上必要ってことでしょうかね
- このエントリポイントアクティビティは他のプログラムの機能として考えてください。
- アクティビティには UI が画面に表示される方法を定義するためのレイアウトが関連つれられていいる。
Android Studio を探索
プロジェクトペインを探索する
- 左の垂直タブで
project
を選択する
- ドロップダウンメニューから
Android
を選択してプロジェクトのファイル階層を開きます。
app フォルダーを探索する
- java フォルダーの中に kotlin のソースコードがある規約が存在します。
- この規約により、Kotlinは同じプロジェクトやアプリ内であっても Java で記述されたコードとシームレス に相互運用できるようになります。
- app には3つのサブフォルダーが含まれていて、
com.example.{プロジェクト名}
フォルダにはアプリパッケージの全てのファイルが含まれています。MainActivity
クラスはアプリのメインエントリポイント。
※ ファイルシステムでは、Kotlin ファイルには .kt
拡張子と K
アイコンがある。プロジェクトビューでは、
Android Studio では拡張なしのクラス名(MainActivity) を表示する。
res フォルダーを探索する
- このフォルダーはリソースを保持しています。
- android のリソースは、アプリで使用される静的コンテンツです。
- 画像、テキスト、画面レイアウト、スタイル、色、表示寸法などの値が含まれます。
- android アプリは、Kotlin のコードとリソースを可能な限り分離します。
- これによってアプリの UI で使用されている文字列だったり、アイコンだったりを簡単に見つけられるようになります。また、リソースファイルを変更すると、ファイルを参照しているアプリの場所で変更後の値が有効になります。
- レイアウトファイルは通常アクティビティに基づいて名前が付けられます。
MainActivity
->activity_main
マニフェストフォルダーと AndroidManifest.xml を探索する
manifests
フォルダーには、アプリに関する重要な情報を提供するファイルが含まれています。AndroidManifest.xml
ファイルには、アプリの一部であるアクティビティなど、アプリを実行する ために必要な情報が含まれています。- この
AndroidManifest.xml
ファイルは。アプリに必要な権限を定義する場所でもあります。- 電話の連絡先を読みとりしたり
- インターネット経由でデータを送信したり
- デバイスのカメラなどのハードウェアにアクセスしたり
- アプリ内にある全ての
Activity
は<activity>
要素としてマニフェストとして宣言する必要があります。
<activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>
Gradle Scripts を探索する
Gradle は、ドメイン固有の言語を使用してアプリのプロジェクト構造、構成、依存関係を記述するビルド自動化システムです。 アプリをコンパイルして実行すると、実行中の Gradle ビルドに関する情報が表示されます。インストールされている Android パッケージキット(APK)に関する情報も表示されます。(APK は、Android OS がモバイルアプリの配布とインストールに使用するパッケージファイル形式です)
Gradle システムを探索する
1.Project > Android > Gradle Scripts でフォルダーを開きます。この中にはビルドシステムに必要な全てのファイルが含まれています。
2.build.gradle(Project: プロジェクト名) ファイルを探す。
このファイルには、プロジェクトを構成する全てのモジュ-ルに共通の構成オプションが含まれています。全ての Android Studio プロジェクトには、単一の Gradle ビルドファイルが含まれていて、プロジェクト内の全てのモジュールに共通の Gradle リポジトリと依存関係を定義できます。
3.build.gradle(Module: app) ファイルを探す。
プロジェクトレベルの build.gradle
ファイルに加えて、各モジュールには build.gradle
独自のファイルがあります。モジュールレベルの build.gradle
ファイルを使用すると、各モジュールのビルド設定を構成できます。この build.gradle
ファイルは。アプリレベルのビルド構成を変更する時に最も頻繁に編集するファイルです。たとえば、アプリがサポートする SDK のレベルを変更する時や dependencies
セクションで新しい依存関係を宣言する時に、このファイルを編集します。
エミュレータでアプリを実行する
ここでは、Android Virtual Device (AVD) manager を使用してエミュレータを作成します。仮想デバイスは、特定のタイプの Android デバイスの構成をシュミレートし、アプリを実行します。
=> Xcode のシュミレータ と同じ感じですね😄
AVD を作成する
コンピュータでエミュレータを実行するには、仮想デバイスを構成して作成する必要があります。
- Android Studio の Tools > AVD Manager を選択します。仮想デバイスを作成している場合は、ダイアログに仮想デバイスが表示されます。それ以外の場合は空白のリストが表示されます。
+ Create Virtual Device..
ボタンをクリックします。[Select Hardware]
ダイアログが表示され、事前構成されたハードウェアデバイスのリストが示されます。各デバイスについて、表には対角表示サイズ・画面解像度(ピクセル)・ピクセル密度の列が表示されます。
※ Android システムのバージョンは、Recommended
タブに示されているよりも多く利用することができます。それらを確認する場合には x86 Images
タブと Othre Images
タブをご覧ください。
- システムイメージを選択したら、
Next
をクリックします。AVD ダイアログが開きますので、設定を確認したら、Finis
をクリックします。
=> 僕の場合は、Pie のシステムイメージがダウンロードされていなかったので、ダウンロードを実行してから次に進む必要がありました😐
AVD でアプリを実行する
Android Studio で Run > Run app を選択するか、ツールバーの Run アイコンをクリックします。
Select Deployment Target
ダイアログで、作成した AVD を選択し、OK をクリックします。
アプリがビルドされ、エミュレータの準備ができると、Android Studio はアプリ APK をエミュレータにアップロードして実行します。
まとめ
アプリの Android ファイル階層を表示するには、垂直タブ列の
Project
タブをクリックして、上部のドロップダウンメニューでAndroid
を選択するプロジェクトに新しい依存関係を追加したり、依存関係のバージョンを変更したりする必要がある場合は、
Gradle Scripts
のbuild.gradle(Module: app)
ファイルを編集するアプリの全てのコードとリソースは、
app
およびres
フォルダー内に存在します。app
>java
フォルダーには Kotlin または Java ソースコード(あるいは両方)のアクティビティ、テスト、およびその他のコンポーネントが含まれています。res
フォルダには、このようなレイアウト、文字列、画像などのリソースが保持されています。Android アプリに機能やコンポーネント、権限などを追加するには、
AndroidManifest.xml
ファイルを編集します。追加のアクティビティなどアプリのコンポーネントは、この XML ファイルで宣言する必要があります。アプリを実行するためにエミュレータを作成するには、AVD Manager を使用します。