[안드로이드] AppCompatActivity를 사용해야 할까?

프로그래밍/Android 관련2017. 12. 4. 12:50

안녕하세요. 개발자 드리머즈입니다.


Android Studio에서 새 프로젝트를 만들면 아래의 사진과 같이 Backwards Compatibility (AppCompat)에 대해 묻는 부분이 있습니다. 이전 버전과의 호환성에 대한 내용인데, 이에 대해 좀 찾아봤습니다.



https://developer.android.com/topic/libraries/support-library/index.html

위의 안드로이드 디벨로퍼 사이트에.. 설명이 꽤 잘 되어 있습니다.(한글 번역이 좀 이상하긴 하지만...)

제가 다시 설명드리면,

일반적으로 app에서는 동작을 위해 Android OS framework에서 제공하는 API를 호출합니다. 그런데 새로운 OS에서 신규API가 등장하기 시작합니다. 그렇다면 이 신규API를 사용하는 어플을 제작한 경우, 이 어플을 이전OS의 단말에서 동작할 수 있을까요? 다른 말로 하면 Backward Compatibility(하위호환성, 이전버전 호환성)을 지원하는지 묻는 것입니다. 당연히 이전 OS에는 신규API가 없으므로 어플이 동작하지 않습니다. 심각한 문제입니다.

그래서 등장한 것이 Android Support Library(안드로이드 지원 라이브러리)입니다. 신규OS가 아닌 이전 OS에도 신규API를 사용하는 앱이 정상 동작하기 위해서는 Android Support Library를 포함하면 됩니다.


지원 라이브러리를 사용하면 이전 버전의 Android 플랫폼에서 실행 중인 앱이 새 버전의 플랫폼에서 사용 가능하게 된 기능을 지원할 수 있습니다. 예를 들어, 프레임워크 클래스에 의존하는 Android 5.0(API 레벨 21) 이전 버전에서 실행 중인 앱은 해당 버전의 Android 프레임워크가 머티리얼 디자인을 지원하지 않기 때문에 머티리얼 디자인 요소를 표시할 수 없습니다. 그러나 앱이 지원 라이브러리의 appcompat 라이브러리를 통합하면 해당 앱이 머티리얼 디자인 지원을 비롯한 API 레벨 21에서 사용 가능한 다양한 기능에 액세스할 수 있습니다. 따라서 앱이 다양한 플랫폼 버전에서 훨씬 일관적인 경험을 제공할 수 있습니다.


위는 공식 홈의 설명입니다. 제가 방금 한 말이랑 같은 내용입니다.

AppCompatActivity는 하위호환성을 위해 Android Support Library에서 제공하는 액티비티로 보입니다.


그러면 궁금증이 생깁니다. 과연 안드로이드 OS 어떤 버전까지 지원을 생각하고 있는 경우에, Backwards Compatibility에 체크를 해야할까요?

검색해봐도 자세한 내용을 못찾겠네요.

공부를 좀 더 한 다음에 업데이트 하겠습니다.

작성자

Posted by 드리머즈

관련 글

댓글 영역