iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day2【Codelabs 1-1編】

今後の学習の方針として、Google が提供している Android アプリ作成のチュートリアルである Codelabs を使用して勉強していきたいと思います。このサイトは基本的には英語でのチュートリアルとなっているので、日本語に直したもの + 自分なりのコメント、まとめのような形で進めていこうかと思います👨‍💻

codelabs.developers.google.com

プロジェクトの作成をしてみる

  1. Android Studio を開きます。

  2. アプリを立ち上げたら Start a new Android Studio project をクリックします。

f:id:yum_fishing:20200815152358p:plain

  1. Choose your project ダイアログで、Empty Activity を選択して次に進みます。

f:id:yum_fishing:20200815152716p:plain

  1. Configure your project ダイアログで Name に "Hello world" を入力します。

f:id:yum_fishing:20200815152732p:plain

  1. 言語が Kotlin になっていることを確認します。

  2. 最小 API レベルが API 19:Android 4.4(KitKat) であることを確認します。現時点では、デバイスの 95.3% がこのアプリを実行できるようになるそうです。

  3. Use AndroidX artifacts をオンにします。

  4. Finish ボタンをクリックしてプロジェクトを作成します。

ちょっとメモ

  • 全てのアプリにはエントリポイントとして少なくとも1つのアクティビティが必要です。
    • 最初に表示されるべき画面は最低1つ以上必要ってことでしょうかね
  • このエントリポイントアクティビティは他のプログラムの機能として考えてください。
  • アクティビティには UI が画面に表示される方法を定義するためのレイアウトが関連つれられていいる。

Android Studio を探索

プロジェクトペインを探索する

  1. 左の垂直タブで project を選択する

f:id:yum_fishing:20200815151214p:plain

  1. ドロップダウンメニューから Android を選択してプロジェクトのファイル階層を開きます。

f:id:yum_fishing:20200815151444p:plain

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 でフォルダーを開きます。この中にはビルドシステムに必要な全てのファイルが含まれています。

f:id:yum_fishing:20200815123818p:plain

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 を作成する

コンピュータでエミュレータを実行するには、仮想デバイスを構成して作成する必要があります。

  1. Android Studio の Tools > AVD Manager を選択します。仮想デバイスを作成している場合は、ダイアログに仮想デバイスが表示されます。それ以外の場合は空白のリストが表示されます。

f:id:yum_fishing:20200815132323p:plain

  1. + Create Virtual Device.. ボタンをクリックします。[Select Hardware] ダイアログが表示され、事前構成されたハードウェアデバイスのリストが示されます。各デバイスについて、表には対角表示サイズ・画面解像度(ピクセル)・ピクセル密度の列が表示されます。

f:id:yum_fishing:20200815133014p:plain

  1. Nexus 5x や Pixel XL などのデバイスを選択し、Next をクリックします。

  2. Recommendedタブを選択し、仮想デバイスで実行する Android システムバージョンを選択します。

Android システムのバージョンは、Recommended タブに示されているよりも多く利用することができます。それらを確認する場合には x86 Images タブと Othre Images タブをご覧ください。

  1. システムイメージを選択したら、Next をクリックします。AVD ダイアログが開きますので、設定を確認したら、Finis をクリックします。

=> 僕の場合は、Pie のシステムイメージがダウンロードされていなかったので、ダウンロードを実行してから次に進む必要がありました😐

AVD でアプリを実行する

  1. Android Studio で Run > Run app を選択するか、ツールバーの Run アイコンをクリックします。

  2. Select Deployment Target ダイアログで、作成した AVD を選択し、OK をクリックします。

f:id:yum_fishing:20200815143529p:plain

アプリがビルドされ、エミュレータの準備ができると、Android Studio はアプリ APK をエミュレータにアップロードして実行します。

f:id:yum_fishing:20200815143816p:plain

まとめ

  • アプリの Android ファイル階層を表示するには、垂直タブ列の Project タブをクリックして、上部のドロップダウンメニューで Android を選択する

  • プロジェクトに新しい依存関係を追加したり、依存関係のバージョンを変更したりする必要がある場合は、Gradle Scriptsbuild.gradle(Module: app) ファイルを編集する

  • アプリの全てのコードとリソースは、app および res フォルダー内に存在します。app > java フォルダーには Kotlin または Java ソースコード(あるいは両方)のアクティビティ、テスト、およびその他のコンポーネントが含まれています。res フォルダには、このようなレイアウト、文字列、画像などのリソースが保持されています。

  • Android アプリに機能やコンポーネント、権限などを追加するには、AndroidManifest.xml ファイルを編集します。追加のアクティビティなどアプリのコンポーネントは、この XML ファイルで宣言する必要があります。

  • アプリを実行するためにエミュレータを作成するには、AVD Manager を使用します。

その他の記事

yamato8010.hatenablog.com

yamato8010.hatenablog.com

yamato8010.hatenablog.com