Y&S SoftWareのホームページ
使いかってのいいソフトウェアを開発します

Hello Android

最初のアンドロイド開発で目にするHello Android。
流れを紹介します。

1. アプリ起動時の流れ
エミュレーターや端末がアプリを起動すると、
Android OS の ActivityManager が AndroidManifest.xml を読み込みます。

マニフェストの
MAIN + LAUNCHER が設定されている Activity(=MainActivity)を見つけます。

OS が MainActivity のインスタンスを自動生成します。
この時、コンストラクタはほぼ使われず、ライフサイクルメソッド(onCreate() など)が呼ばれます。

onCreate() の中で、
setContent { ... } が呼ばれ、Jetpack Compose の UI が組み立てられます。

2. MainActivity の役割

MainActivity
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) // 親の処理を呼び出す
setContent {
MyMemoTheme {
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
Greeting(
name = "Android",
modifier = Modifier.padding(innerPadding)
)
}
}
}
}
}

そこで
OS が MainActivity を new して onCreate() を呼びます

→ 自分で MainActivity() を呼び出すことはしません。

setContent { ... } の中で Compose が UI を描画します。

Greeting(name = "Android") が呼ばれ、その中で "Hello Android" が表示されます。

まとめると
最初に呼ばれるメソッドは MainActivity.onCreate()

インスタンス化は Android OS が自動でやってくれる

setContent {} が UI のエントリーポイントになっている

"Hello Android" の文字は Greeting 関数の中に書かれている

という事になります。