appcompatactivity VS componentactivity

yakky·2023년 11월 18일

일반 프로젝트로 열면 appcompact가 나오고, 컴포즈 프로젝트를 누르면 component가 나왔다.

두 개의 차이점

차이점을 찾아보니 AppcompatActivity는 FragmentActivity를 상속받고,FragmentActivity는 ComponentActivity는 Compose-Only 클래스라는데...

Activity의 상속 순서가 헷갈려서 더 찾아봤다.

상속 순서

AppCompatActivity > FragmentActivity > ComponentActivity > androidx.core.app.ComponentActivity>Activity > ContextThemeWrapper > ContextWrapper > Context


상위에는 Context가 있다!

Context: Global 애플리케이션 환경 정보가 있는 인터페이스


정리하자면
  • AppCompatActivity는 기존의 Android View를 기반으로 액티비티를 구현하는 클래스 -> Compose 사용 시 별도의 작업이 필요함(1. layout 파일을 Compose로 작성 2. onCreate() 메서드에서 Compose UI 초기화)
  • ComponentActivity는 컴포즈를 기본으로 지원하는 액티비티 클래스 -> 바로 컴포즈놀이 ㄱ

이 같은 차이로 컴포즈로 화면 UI 구성하고, 기존 XML도 사용해야 한다면 AppCompat을 사용해야 한다.

이상!

profile
행복한 한 주 되세요

0개의 댓글