3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AndroidStudioのMainActivityクラスについて

Last updated at Posted at 2021-06-10

今回はAndroidStudioのMainActivityクラスについてまとめていきます。

##サンプルコード

MainActivity.kt
package com.websarva.wings.android.hellosample

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)
    }
}

プロジェクトを作成すると、上記のコードが自動で入力されます。
それぞれにどんな意味があるのかを噛み砕いれいきます。

##解説

####class MainActivity : AppCompatActivity()
 ∟MainActivityと言う子クラスに、AppCompatActivityと言う親クラスの継承を定義している。
  ∟つまり、MainActivityクラスは、AppCompatActivityクラスの要素を引き継ぐことができる。

AppCompatActivity
 ∟AppCompatActivityクラスは、Activityクラスの子クラスです。かつては、Activityクラスを継承して、アクティビティクラスを作成していましたが、通常は、AppCompatActivityクラスを継承してアクティビティクラスを作成します。

つまり、
Activityクラス
 ∟AppCompatActivityクラス
  ∟MainActivityクラス
という構造になっている。

AppCompatActivityクラスのonCreate()メソッドは、androidアプリが起動すると、実行されるメソッドです。
 ∟画面作成やデータの用意など、初期処理として必要なものを記述する。

##onCreate()メソッドの中身
####super.onCreate(savedInstanceState)
 ∟親クラスのonCreateメソッドを呼び出している(AppCompatActivity)
 ∟アクティビティクラスはActivityクラスをを継承して作る必要があります。
 ∟onCreateメソッドを、Activityクラスから、オーバーライドする必要があるため、この記述が必要があります。

####setContentView(R.layout.activity_main)
 ∟このアプリで表示する画面の設定をしています。
 ∟今回は activity_main.xmlに記述したものを画面として使うので、引数を 「R.layout.activity_main」としています。

##リソースを管理してくれるRクラス
setContentView(R.layout.activity_main)で使用されている「R...」について見ていきます。

android開発では、resフォルダ内のファイルや「@+id」の値などのリソースを、Kotlinクラスから効率よく利用できるように、Androidではそのファイルや値を識別する為のJavaのint型定数を指定することになっています。
このint定数をまとめて記述するクラスとして、Rクラスを用意し、そこにAndroidStudioの方で自動追記してくれる仕組みになっています。
これにより、Rクラス中の定数(R値と呼ぶ)を使ってリソースをやり取りできる。

ちなみに、 「R.layout.activity_main」は、「res/layout/activity_main」と同じ意味。

3
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?