Lucky Dog

[안드로이드] 안드로이드 서포트 라이브러리 본문

안드로이드

[안드로이드] 안드로이드 서포트 라이브러리

Poohya 2015. 12. 1. 10:33

Support Library
이전 안드로이드 버전을 사용하고 있는 기기에서 새로운 API를 사용 할수 있도록 도와주는 호환성 라이브러리이며 새로운 안드로이드 버전이 나올때 마다 업데이트 된다.

  • v4
    안드로이드 API4부터 사용이 가능한 라이브러리로 API 11에서 소개된 Fragment와 Loader등 주요 클래스의 구현을 지원하며 ViewPager, DrawerLayout등 포함 되어 있다.

  • v7-AppCompat
    v4를 이용하여 확장한 라이브러리로 단순히 액션바(API 11), 툴바(API 21)등을 지원한다.

이러한 서포트 라이브러리는 기본 SDK에서 제공하는 것과 대부분 동일하나 약간의 차이나 기능 축소가 있을 수 있다. 또한 기본 SDK와 라이브러리는 완전히 다르게 분리 시켰기 때문에 사용시 일관성이 떨어 질 수 있다. 예를 들어 기본 SDK에서는 Fragment가 Activity 클래스에서 지원되나 서포트 라이브러리에서 Fragment를 사용하기위해 FragmentSupport라이브러리를 사용해야만 한다. 이러한 일관성의 문제점을 해결 하기위해 구글에서도 상당한 노력을 하고 있다. 예를 들어 안드로이드 스튜디오의 새로운 프로젝트 템플릿을 보면 V7-AppCompat와 V4라이브러리를 기본적으로 포함시켜 개발자로 하여금 의존할 수 있도록 노력하고있다. 즉, 서포트 라이브러리가 필요 하지 않는 경우라도 일반적으로 사용하기를 구글에서는 권하고 있다.


기능 라이브러리

호환성 라이브러리 뿐만 아니라 SDK의 일부가 아닌 기능을 추가하기위한 라이브러리다 이 자체에 포함된 라이브러리는 SDK에 대한 의존성이 전혀 걱정 없이 프로젝트에 추가/삭제 될 수 있다.

  • v7-recyclerview: 효율적으로 표시하고 대량의 데이터와 애니메이션을 제공하는 ListView를 대체하기위해 설계된 View
    v7-cardview: 카드 UI 디자인 패턴의 View
    v7-GridLayout: 사각형 격자로 UI를 구성할 수 있는 Layout
    v7-mediarouter: 구글 카스트 지원을 위한 MediaRouter
    v7-palette: 이미지의 색상 추출

기타 라이브러리

  • v8: RenderScript(API 11)제공
    v13: Fragment UI에 대한 추가적인 지원
    v17: TV UI에 대한 지원
    multidex: 다중 dex파일에 대한 지원
    annotations: @NonNull, @IntDef등 주석에 대한 지원


출처 : http://www.kmshack.kr/2015/06/android-support-library/

Comments