MainActivity
大雑把ではあるがKotlinの基本的な構文を学習してきた。そろそろAndroidアプリも進めてみたいと思う。
以前(KotlinでAndroidアプリ#05)Andoridアプリのファイル構成を確認したが、今回はMainActivityのソースを読んでいく。
1 2 3 4 5 6 7 8 9 10 11 |
package com.example.myapplication import androidx.appcompat.app.AppCompatActivity import android.os.Bundle class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } } |
クラス〇×Activityは基本的に1画面単位に作成していく。
スーパークラスの継承
6行目でスーパークラス「AppCompatActivity」を継承しているが、Activityを作成する際には継承しなければいけない(今後Androidのバージョンが変わると継承クラスも変更される可能性はある)。
6 |
class MainActivity : AppCompatActivity() { |
ライフサイクルと関数
7行目で関数onCreateをオーバライドしているが、onCreateはActivityが呼び出されると最初に実行される関数だ。従ってここへ初期処理を記述する。onCreate以外にActivityのライフサイクルにより下図のように呼び出される関数がある。
出典:Google Developer
Activityの作成はこの呼び出される関数内に、必要な処理を記述していくことになる。
アプリの復帰
8行目でスーパークラスのonCreateを呼び出している。これはアプリを再起動する際に前回Activityの情報を復活されるための記述だ。
8 |
super.onCreate(savedInstanceState) |
例えばアプリ起動中にバックグランドにするとメモリ不足でアプリが終了することがある。アプリを再起動するとこの命令によりActivityの状態が元に戻るのだ。従ってこの命令を記述しておいた方がいい。
画面表示
9行目の「setContentView」はAndroid SDKで用意されている画面表示命令だ。引数には表示したい画面定義のファイル名に「R.layout」を付け指定する。
9 |
setContentView(R.layout.activity_main) |
MainActivityのソースは以上だが、「Hello World」を表示するだけなので非常にシンプルだ。次は画面定義ファイルを見ていく。