Android Kotlin基礎講座 04.1: ライフサイクルとログ情報について
目次
まとめ
アクティビティのライフサイクル
- アクティビティのライフサイクルは一つのアクティビティが遷移する状態のまとまりのことを指します。アクティビティのライフサイクルはアクティビティが最初に作られた時から始まり、アクティビティが破棄されて終わります。
- ユーザーがアクティビティ間やアプリ内外を遷移する際に、それぞれのアクティビティはそのライフサイクルの状態を遷移します。
- アクティビティのライフサイクルのそれぞれの状態は対応するコールバックメソッドがあり、Activityクラス中でオーバーライドすることができます。7つのライフサイクルメソッドがあります。
onStart()
onPause()
onRestart()
onResume()
onStop()
onDestroy()
- アクティビティがライフサイクル状態を遷移するときに挙動を追加したい場合は、その状態に対応するコールバックメソッドをオーバーライドします。
- Android Studioでクラスにメソッドのオーバーライドのテンプレートを追加するにはCode > Override Methodsを選択するか、Control + Oを押します。
Logによるログ
- Android logging API、具体的にはLogクラスはAndroid Studioの中のlogcatというフィールドにショートメッセージを表示させることを可能とします。
- Log.i()を使って情報用のメッセージを記述します。このメソッドは2つの引数を取ります。一つはログタグ、一般的にはクラス名が用いられ、二つ目はログメッセージです。ここに表示させたいショートメッセージを記述します。
- Logcatパネルを使って自分が書いたメッセージを含むシステムログを見ることができます。
Timberによるログ
TimberはAndroid logging APIにいくつか利点を持たせたログ用ライブラリです。特に以下の利点が挙げられます。
- クラス名に基づいてログタグを生成してくれる。
- リリースバージョンのアプリではログを表示しないようにしてくれる。
- クラッシュレポートライブラリとの統合を可能にしてくれる。
Timberを使うためには依存関係をGradleファイルに追加し、Applicationクラスを拡張して初期化する必要があります。
- Applicationはアプリ全体のグローバルな状態を管理するための基底クラスです。特に指定しない場合はデフォルトのApplicationクラスが使われます。Timberのようなアプリ全体で使うライブラリを初期化するにはApplicationのサブクラスを作成します。
- 自分で作ったApplicationクラスはAndroidマニフェストの<application>要素の中にandroid:name属性を追加することで、アプリに認識させることができます。必ず行いましょう。
- Timberを用いたログメッセージの表示にはTimber.i()を使います。このメソッドは一つの引数を必要とします。表示したいメッセージのみです。ログタグには自動でクラス名が追加されます。
お疲れさまでした。次の講座は 4.2 複雑なライフサイクル状態です。
おすすめ書籍
Kotlinの文法をまず学びたい!という方には以下の書籍がおすすめです。Kotlinは日本語書籍がまだ豊富とは言えない状況ですが、細かく解説されており、Kotlin入門者のかたでもつまずくことなく学習できると思います。
[itemlink post_id=”1743″]実際にアプリを作りながら覚えていきたい!という方には以下もお勧めです。はじめに上の書籍で文法をさらっと学んでから取り組むのがお勧めです。
[itemlink post_id=”1745″]