Android Kotlin の基礎コースは Google Developers トレーニング チームによって作成されたものです。このコースでは、Android Kotlin プログラミングの概念を学習し、さまざまなアプリを作成します。
Android Kotlin の基礎コースの内容は次のとおりです。
- コースの Codelab
- Codelab で作成したアプリのスターター アプリと解答コード(GitHub)
前提条件
このコースでは、Kotlin プログラミング言語に関する知識がある(またはすぐに習得できる)ことを前提としています。Android Kotlin の基礎コースを受講するには、オブジェクト指向プログラミングの分野(Java、C++、Smalltalk など)で 2 年以上の経験があることが推奨されます。
Udacity のプログラマー向け Kotlin ブートキャンプ コース(無料)の概念、ツール、語彙をすべて理解している必要があります。
また、GitHub の操作に慣れ、次の概念を把握しておく必要もあります。
- 基本的なマルチスレッドと例外処理。
- 一般的な用語でコードをビルド、コンパイル、実行する方法。
この方法は、関数型プログラミングの意味を理解するのにも役立ちますが、これは必須ではありません。
コース内容
Android Kotlin の基礎 Codelab は順番に受講することをおすすめしますが、これは必須ではありません。
レッスン 1: 初めてのアプリの作成
レッスン 1 では、Kotlin を使用するように Android Studio を設定する方法と、アプリを作成する方法について説明します。最初に「Hello World」を作成し、続いて、画像ファイルとクリック ハンドラを使用するアプリを作成します。Android プロジェクトの作成方法、Kotlin Android アプリでのビューの使用方法や変更方法、アプリの後方互換性を確認する方法について学習します。また、API レベルと Android Jetpack ライブラリについても学習します。
レッスン 2: レイアウト
レッスン 2 では、Android Studio Layout Editor を使って、リニア レイアウトと制約レイアウトを作成する方法を学びます。ユーザー入力を取得して表示する、ユーザーのタップに反応する、ビューの外観と色を変更するアプリを作成します。このレッスンでは、データ バインディングを使って findViewById() メソッドの非効率的な呼び出しを排除する方法についても説明します。
レッスン 3: ナビゲーション
レッスン 3 では、アプリ内に便利なナビゲーションを作成する方法を学習します。フラグメントを作成してアプリに追加してから、Android Studio ナビゲーション グラフを使ってアプリにナビゲーションを追加します。ナビゲーション ドロワーとオプション メニューをアプリに追加し、アプリのバックスタックを使用して、システムの [戻る] ボタンの表示先を変更します。最後に、アプリ内から外部のアクティビティを呼び出す方法を学習します。
レッスン 4: アクティビティとフラグメントのライフサイクル
レッスン 4 では、アクティビティとフラグメントのライフサイクルと、複雑なライフサイクルの状態に対処する方法を学習します。Android のライフサイクルに関連するバグをいくつか含むスターター アプリを使用します。アプリのライフサイクル イベントをよく把握するために、アプリへのロギング機能の追加、アプリに含まれるバグの修正、アプリへの拡張機能の追加を行います。また、Android Jetpack のライフサイクル ライブラリも学習します。このライブラリには整然とした管理しやすいコードがあり、ライフサイクル イベントを管理するのに役立ちます。
レッスン 5: アーキテクチャ コンポーネント
レッスン 5 では、ViewModel オブジェクトと LiveData オブジェクトの使用方法を学習します。ViewModel オブジェクトを使って、画面の回転などの設定変更後にデータを引き継ぐ方法を学習します。アプリの UI データをカプセル化された LiveData に変換し、LiveData の値が変更されたときに通知されるオブザーバー メソッドを追加します。
また、LiveData と ViewModel をデータ バインディングと統合すると、アプリのフラグメントを使って情報を中継することなく、レイアウト内のビューが ViewModel オブジェクトと直接通信できるようになります。この方法によりコードを簡略化できるので、UI コントローラでクリック ハンドラを使用する必要がなくなります。
レッスン 6: Room データベースとコルーチン
レッスン 6 では、Room データベース ライブラリの使用方法について説明します。Room は、データベースのセットアップと設定に関する多数の処理を行い、データベースを操作するためのコードを簡素化します。Kotlin コルーチンを使ってデータベース操作をメインスレッドから移動する方法と、ViewModel と LiveData をアプリ ナビゲーションで使う方法を学習します。
レッスン 7: RecyclerView
レッスン 7 では、RecyclerView を使ってアイテムのリストとグリッドを効率的に表示する方法について説明します。複雑なリストやグリッドを使う場合の、RecyclerView の効率を高める方法と、コードの管理と拡張を容易にする方法を学習します。RecyclerView のアイテムをクリック可能にする方法を学習します。また、RecyclerView のリストやグリッドに複数のビューホルダーとレイアウトを追加して、たとえば、アプリにヘッダーを追加する方法も学習します。
レッスン 8: インターネットへの接続
レッスン 8 では、コミュニティで開発したライブラリを使ってウェブサービスに接続し、データの取得や表示を行う方法について説明します。潜在的なネットワーク エラーに対処する方法と、Glide ライブラリを使って、インターネットから写真を読み込んで表示する方法を学習します。また、RecyclerView を作成し、それを使って画像のグリッドを表示します。
レッスン 9: リポジトリ
レッスン 9 では、リポジトリを追加してデータレイヤーを抽象化し、Android Kotlin アプリの他のアプリにクリーンな API を提供する方法について説明します。また、WorkManager を使って、バックグラウンド タスクを効率的かつ最適化された方法でスケジュール設定する方法についても説明します。
レッスン 10: すべてのユーザー向けの設計
このレッスンでは、Android アプリ設計の基本について説明します。テーマとスタイル、マテリアル デザインのほか、誰もがアプリを簡単に使用できるようにする方法を紹介します。