[Android] Activity/MainActivity/AppCompatActivity란 무엇일까?

우니·2022년 12월 11일
0

2019년 2학기, 안드로이드 앱 개발을 진행했었다. 그때 개발하며 배웠던 안드로이드 그리고 사용했던 언어인 Kotlin에 대해 다시 한번 차근차근 정리해보는 시간을 가지려고 한다.

일단, 안드로이드 스튜디오에서 프로젝트를 생성하면,

이렇게 MainActivity가 생기는것을 볼 수 있다.
MainActivity가.kt 안을 자세히 살펴보자.

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

그리고 import 부분에 디폴트로 존재하는 두가지가 있다.

  • AppCompatActivity
  • Bundle

그렇다면 과연 이게 무엇일까?
첫번째로, AppCompatActivity가 무엇인지 공식문서와 블로그들을 돌아다니며 찾아보았다.

한마디로 요약해서 말한다면 AppCompatActivity는
안드로이드의 하위버전을 지원하는 Activity의 일종이다.
Activity에서 사용하는 메소드를 보면, 메소드에 따라 안드로이드 운영체제의 버전이 다른 경우가 존재한다. 만약 내가 만드는 앱이 최신 OS뿐만 아니라 구형 기계 및 모든 운영체제에 지원이 되어야 한다면 하위버전을 얼마나 커버하는지를 확인해야 한다. 이전에는 경우에 따라 라이브러리의 버전도 확인해야 했다고 한다. 그렇지만 AppCompatActivity는 이러한 개발자의 수고를 덜어준다고 볼 수 있다. 여러 하위버전을 매번 확인하기 번거롭고, 안전하게 지원하고 싶다면 AppCompatActivity를 사용하면 된다.

이 설명을 보고 AppCompatActivity가 뭔지 대충 이해가 갔다. 뭔가 도움을 주는 Activity란 거구나..
그럼 이제 드는 의문점 - Activity가 정확히 뭔데?

공식문서https://developer.android.com/reference/androidx/appcompat/app/AppCompatActivity

0개의 댓글