일반 Activity와 AppCompatActivity의 차이가 무엇인가요?


안드로이드에 일반 Activity가 있고, AppCompatActivity가 있던데 그 둘의 차이가 무엇인가요?

이거 외에도 AppCompat이 붙은 것이 몇가지 더 있는것 같던데, 차이가 뭔지 모르겠네요.

  • 2016년 07월 14일에 수정됨
    안드로이드, 루비온레일즈
  • 2016년 03월 03일에 작성됨

조회수 12178


Banner nodejs

2 답변


좋아요
4
싫어요
채택취소하기

AppCompatActivity는 안드로이드 하위버전을 지원하는 액티비티입니다. Activity API 를 보시면 dispatchKeyShortcutEvent 오른쪽옆에 API level들이 표시되어있습니다. 위의 사진에는 API level 11(안드로이드 3.0)라고 적혀있는데요. dispatchKeyShortcutEvent 이 메소드는 3.0미만의 단말기에서는 실행이 안됩니다. 그래서 이런 메소드를 지원하기 위해서 AppCompatActivity가 나온거에요. 액션바역시 3.0이후에 나온 기능이라 3.0미만의 단말기에서는 동작할수 없기때문에 AppCompatActivity를 사용합니다. Support Library에 있는 클래스들은 안드로이드 하위버전을 지원하기 위해 존재합니다.

만드시는 앱의 안드로이드지원버전에 따라서 AppCompatActivity를 사용하시면됩니다. 항상 최신버전안드로이드만 지원하겠다 하시면 AppCompatActivity를 쓸필요는 없어요. 그런데 새로운 API가 추가될때마다 매번 버전 확인하기는 번거로우니 SupportLibrary를 쓰신다면 AppCompatActivity를 쓰시는게 좋습니다.

  • 2016년 03월 03일에 작성됨
    안드로이드, 루비온레일즈


  • 2016년 03월 03일에 작성됨
    그렙에서 웹 프론트 개발을 하고 있습니다.

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close