반응형

1. ComponentActivity

  • 가장 기본적인 Activity 클래스 중 하나.
  • AndroidX에서 제공하는 최소한의 기능만 포함됨.
  • ViewModel, SavedState 같은 최신 아키텍처 컴포넌트 지원을 포함.
  • Fragment는 직접 다루지 않음.
  • JetPack Compose 의 경우 UI를 컴포저블 함수로 구현하기에 이 클래스의 기능만으로 구현 가능.

2. FragmentActivity (extends ComponentActivity)

  • ComponentActivity를 기반으로 하면서 Fragment를 사용할 수 있게 확장된 클래스.
  • SupportFragmentManager를 통해 프래그먼트 관리 기능을 제공.
  • androidx.fragment.app.Fragment 사용 시 필요.
  • Fragment 의 사용이 강조될 당시에 MainActivity 가 기본으로 상속받은 클래스.

3. AppCompatActivity (extends FragmentActivity)

  • FragmentActivity를 기반으로 하면서, AppCompat 지원 라이브러리 기능이 추가.
  • Toolbar, 다크모드, 테마 호환성, Material Design 등 현대적인 UI 요소를 쓸 수 있음.
  • 가장 일반적으로 사용하는 Activity 타입.
  • 전통적인 xml 파일을 이용한 View를 통해 UI 를 구현할 때 적합한 클래스.
  • Compose 개발방법을 사용하지 않았을 때 MainActivity 클래스가 기본으로 상속받는 클래스.

간단 요약

클래스별 주요기능 및 사용 목적

 

ComponentActivity ViewModel, SavedState 지원 최소 구조의 Activity
FragmentActivity + Fragment 지원 프래그먼트 기반 UI 사용 시
AppCompatActivity + AppCompat 기능 대부분의 일반 앱 개발 시 사용
반응형

+ Recent posts