Android Kotlin の基礎: コースへようこそ

Google Developers トレーニング チームによって作成された、Android Kotlin の基礎コースへようこそ。このコースでは一連の Codelab によって、Kotlin を使って Android アプリを作成するための基本を説明します。このコースでは、Android Kotlin プログラミングの基本的な概念と、さまざまなアプリの作成について学習します。

Codelab は順番に受講することをおすすめしますが、これは必須ではありません。

Google Developers トレーニング チームが作成したその他の Android トレーニングについては、Google Developers トレーニング: Android をご覧ください。

前提条件

Android Kotlin の基礎コースを受講するには、オブジェクト指向プログラミングの分野(Java、C++、Smalltalk など)で 2 年以上の経験があることが推奨されます。

Udacity のプログラマー向け Kotlin ブートキャンプ コース(無料)の概念、ツール、語彙をすべて理解している必要があります。

また、GitHub の操作に慣れ、次の概念を把握しておく必要もあります。

  • 基本的なマルチスレッドと例外処理。
  • 一般的な用語でコードをビルド、コンパイル、実行する方法。

この方法は、関数型プログラミングの意味を理解するのにも役立ちますが、これは必須ではありません。

スターター コードと解答コード

Android Kotlin の基礎コースの Codelab を進めていくと、アプリを作成できます。作成するアプリのスターター アプリ解答コードのソースコードは GitHub にあります。

Android Kotlin の基礎には、次のレッスンが含まれています。

  • レッスン 1: 初めてのアプリの作成
  • レッスン 2: レイアウト
  • レッスン 3: ナビゲーション
  • レッスン 4: アクティビティとフラグメントのライフサイクル
  • レッスン 5: アーキテクチャ コンポーネント
  • レッスン 6: Room データベースとコルーチン
  • レッスン 7: RecyclerView
  • レッスン 8: インターネットへの接続
  • レッスン 9: リポジトリ
  • レッスン 10: すべてのユーザー向けの設計

各レッスンには複数の Codelab が含まれています。

レッスン 1: 初めてのアプリを作成する

このレッスンでは、Kotlin を使用するように Android Studio を設定する方法と、アプリを作成する方法について説明します。最初に「Hello World」を作成し、続いて、画像ファイルとクリック ハンドラを使用するアプリを作成します。Android プロジェクトの作成方法、Android Kotlin アプリでのビューの使用方法や変更方法、アプリの後方互換性を確認する方法について学習します。また、API レベルと Android Jetpack ライブラリについても学習します。

レッスン 1 には、次の Codelab が含まれています。

レッスン 2: レイアウト

このレッスンでは、Android Studio Layout Editor を使って、リニア レイアウトと制約レイアウトを作成する方法を学びます。ユーザー入力を取得して表示する、ユーザーのタップに反応する、ビューの外観と色を変更するアプリを作成します。このレッスンでは、データ バインディングを使って findViewById() の非効率的な呼び出しを排除する方法についても説明します。

レッスン 2 には、次の Codelab が含まれています。

レッスン 3: ナビゲーション

このレッスンでは、アプリ内に便利なナビゲーションを作成する方法を学習します。フラグメントを作成してアプリに追加してから、Android Studio ナビゲーション グラフを使ってアプリにナビゲーションを追加します。ナビゲーション ドロワーとオプション メニューをアプリに追加し、アプリのバックスタックを使用して、システムの [戻る] ボタンの表示先を変更します。最後に、アプリ内から外部のアクティビティを呼び出す方法を学習します。

レッスン 3 には、次の Codelab が含まれています。

レッスン 4: アクティビティとフラグメントのライフサイクル

このレッスンでは、アクティビティとフラグメントのライフサイクルと、複雑なライフサイクルの状態に対処する方法を学習します。Android のライフサイクルに関連するバグをいくつか含むスターター アプリを使用します。アプリにロギングを追加してアプリのライフサイクル イベントをより深く理解し、アプリに含まれるバグを修正してアプリに機能強化を追加します。また、Android Jetpack のライフサイクル ライブラリについても学びます。このライブラリは、より整理され、保守しやすいコードでライフサイクル イベントを管理するのに役立ちます。

レッスン 4 には、次の Codelab が含まれています。

レッスン 5: アーキテクチャ コンポーネント

このレッスンでは、ViewModel オブジェクトと LiveData オブジェクトの使用方法について説明します。ViewModel オブジェクトを使って、画面の回転などの設定変更後にデータを引き継ぐ方法を学習します。アプリの UI データをカプセル化された LiveData に変換し、LiveData の値が変更されたときに通知されるオブザーバー メソッドを追加します。

また、LiveDataViewModel をデータ バインディングと統合すると、アプリのフラグメントを使って情報を中継することなく、レイアウト内のビューが ViewModel オブジェクトと直接通信できるようになります。この方法によりコードを簡略化できるので、UI コントローラでクリック ハンドラを使用する必要がなくなります。

レッスン 5 には、次の Codelab が含まれています。

レッスン 6: Room データベースとコルーチン

このレッスンでは、Room データベース ライブラリの使用方法について説明します。Room は、データベースのセットアップと設定に関する多数の処理を行い、データベースを操作するためのコードを簡素化します。Kotlin コルーチンを使ってデータベース操作をメインスレッドから移動する方法と、ViewModelLiveData をアプリ ナビゲーションで使う方法を学習します。

レッスン 6 には、次の Codelab が含まれています。

レッスン 7: RecyclerView

このレッスンでは、RecyclerView を使用してアイテムのリストとグリッドを効率的に表示する方法について説明します。複雑なリストやグリッドを使う場合の、RecyclerView の効率を高める方法と、コードの管理と拡張を容易にする方法を学習します。RecyclerView のアイテムをクリック可能にする方法を学習します。また、RecyclerView のリストやグリッドに複数のビューホルダーとレイアウトを追加して、たとえば、アプリにヘッダーを追加する方法も学習します。

レッスン 7 には、次のコードラボが含まれています。

レッスン 8: インターネットへの接続

このレッスンでは、コミュニティで開発したライブラリを使ってウェブサービスに接続し、データの取得や表示を行う方法について説明します。潜在的なネットワーク エラーに対処する方法と、Glide ライブラリを使って、インターネットから写真を読み込んで表示する方法を学習します。また、RecyclerView を作成し、それを使って画像のグリッドを表示します。

レッスン 8 には、次のコードラボが含まれています。

レッスン 9: リポジトリ

このレッスンでは、リポジトリを追加してデータレイヤーを抽象化し、Android Kotlin アプリの他のアプリにクリーンな API を提供する方法について説明します。また、WorkManager を使って、バックグラウンド タスクを効率的かつ最適化された方法でスケジュール設定する方法についても説明します。

レッスン 9 には、次の Codelab が含まれています。

レッスン 10: すべてのユーザー向けの設計

このレッスンでは、美しくアクセシビリティの高い Android アプリを設計するための基礎を学び、Google Developer Group(GDG)のミートアップに関する情報を検索して表示するアプリの作成方法を説明します。

レッスン 10 には、次のコードラボが含まれています。

次のレッスンに進む: 1.0 Android Studio をインストールする

最初のコードラボである 1.0 Android Studio をインストールするから始めて、Android Kotlin の基礎コースを受講します。