Android Kotlin基礎講座 04.2: 複雑なライフサイクル状態

Android Kotlin基礎講座

この講座について

この記事はAndroid Kotlin基礎講座の一部です。これ以外のAndroid Kotlin基礎講座(全10回)も一緒に受講することでAndroidアプリの開発手法、およびKotlinの基礎知識を学ぶことができます。全講座はAndroid Kotlin基礎講座にリスト化されていますので参考にしてください。

またこの記事ではGoogle Developers Training teamによってGoogle Codelabsに公開されているAndroid Kotlin Fundamentals courseを日本語に翻訳しつつ、筆者の考察も交えながら発信しています。オリジナルのサイト(英文)はこちら

イントロダクション

レッスン4に含まれている記事は以下になります。

前回の記事ではアクティビティとフラグメントのライフサイクルについて学習しました。またそれらのライフサイクルの状態が変化するときに呼び出されるメソッドについても触れました。
この記事ではより詳しくアクティビティのライフサイクルについて学習していきます。またコードを簡素化し、ライフサイクルイベントをより維持、管理しやすくするためのAndroid Jetpackのlifecycleライブラリについても学習します。

前提知識

  • アクティビティとは何か、またアプリにおけるアクティビティに作り方
  • アクティビティとフラグメントのライフサイクル、およびアクティビティの状態変化時に呼び出されるコールバックメソッドの基礎
  • アクティビティとフラグメントにおいて異なるタイミングでコールバックメソッドを実行させるためのonCreate()やonStop()等のオーバーライドの仕方

この講座で学べること

  • ライフサイクルコールバックにおいて、アプリの一部をセットアップ、起動、停止させる方法
  • ライフサイクルオブザーバーの作成、およびアクティビティとフラグメントのライフサイクルの管理を容易にするためのAndroid lifecycleライブラリの使い方
  • Androidプロセスがどのようにシャットダウンするか、またアプリのデータにどのように影響するか、またAndroidがアプリを閉じた場合に自動でデータを保存、復元する方法
  • 端末の画面回転やその他の環境設定の変化がどのようにライフサイクル状態、およびアプリの状態に影響を与えるか

概要

  • DessertClickerアプリを修正してタイマー機能を追加し、アクティビティのライフサイクルの異なるタイミングでスタート・ストップするようにする。
  • Android lifecycleライブラリを使用させるようにアプリを修正し、DessetTimerクラスをライフサイクルオブザーバーに変換する。
  • アプリのプロセスのシャットダウンとその際に起こるライフサイクルコールバックをシミュレートするためのAndroidデバッグブリッジ(adb)のセットアップ。
  • アプリが予期せず閉じられた際に失われてしまうアプリデータを保持するためのonSaveInstanceState()メソッドの実装。また次回アプリ起動時にデータを復元するためのコードの追加。

コメント

プロフィール

プロフィール
コードラボJP

大学卒業後SEに就職、現在は退職しフリーランスとして活動中。
『初心者でも挫折せずに一人でプログラミングを学べる』をモットーに、コードラボJPを開設
お問い合わせ等はcodelabsjp@gmail.comまで

コードラボJPをフォローする
タイトルとURLをコピーしました