지원 패키지란? |
지원 패키지는 안드로이드 3.0 플랫폼 버전 이후 추가된 API 및 유용한 유틸리티 API 들을 묶어서 만들어진 정적 라이브러리 입니다. 다시 말해, 허니콤에서 유용한 기능들을 기존의 안드로이드 플랫폼에서도 사용 가능하도록 공식적으로 릴리즈한 공개 라이브러리 입니다. (이전에는 호환성 패키지(Compatibility Package) 였는데 지원 패키지(Support Package)로 이름이 변경되었습니다.)
현재 동일한 인터페이스를 갖춘 v4와 v13 두 가지 버전이 제공되는데, v4는 안드로이드 API Level 4 (도넛) 버전을 기반으로 작성된 라이브러리이며, v13은 안드로이드 API Level 13 (허니콤) 버전을 기반으로 작성된 라이브러리 입니다. 따라서, 애플리케이션의 타겟 버전이 도넛, 이클레어, 프로요, 진저브래드인 경우에는 v4 버전의 호환성 패키지 라이브러리를 사용할 수 있고 허니콤, 아이스크림인 경우에는 v13 버전의 호환성 패키지 라이브러리를 사용할 수 있습니다.
현재 동일한 인터페이스를 갖춘 v4와 v13 두 가지 버전이 제공되는데, v4는 안드로이드 API Level 4 (도넛) 버전을 기반으로 작성된 라이브러리이며, v13은 안드로이드 API Level 13 (허니콤) 버전을 기반으로 작성된 라이브러리 입니다. 따라서, 애플리케이션의 타겟 버전이 도넛, 이클레어, 프로요, 진저브래드인 경우에는 v4 버전의 호환성 패키지 라이브러리를 사용할 수 있고 허니콤, 아이스크림인 경우에는 v13 버전의 호환성 패키지 라이브러리를 사용할 수 있습니다.
지원 패키지의 기능 |
지원 패키지에 담긴 주요 기능은 Fragment, Loader, ViewPager, Least Recently Used Cache 등입니다.
- Flagment : Flagment는 하나의 동작 모듈이라고 할 수 있습니다. 지금까지는 대게 하나의 액티비티가 하나의 동작 모듈로 간주되었는데 허니콤 이후 멀티 패널 UI가 요구됨에 따라 액티비티가 여러 기능을 수행할 필요가 생겼습니다. 이에 따라, 액티비티 내에 하나 이상 포함될 수 있으면서 동시에 독립적으로 동작할 수 있는, 액티비티와 뷰 중간쯤의 위치에 Fragment 클래스가 추가되었습니다.
- Loader : 메인 스레드가 아닌 별개의 스레드를 이용해 비동기적으로 데이터를 동작하고자 할 때 손쉽게 사용할 수 있는 Abstract 클래스 입니다.
- ViewPager : 수평 화면 전환이 필요할 때 이를 손쉽게 구현할 수 있게 도와주는 위젯입니다.
- Least Recently Used Cache : 간편하게 사용할 수 있는 Hash 로 최초 생성 시 Hash의 최대 크기를 지정할 수 있으며, 만일 지정된 크기보다 더 많은 아이템을 추가하려고 하는 경우에는 이전에 사용되었던 아이템(Least Recently Used)이 Hash에서 제거됩니다. 이미지 비트맵 등을 저장하는 캐쉬를 만들 때 유용합니다.
지원 패키지의 사용 |
지원 패키지의 사용을 위해서는 아래와 같이 ADT를 이용해 Android Support package를 인스톨해 주어야 합니다. 인스톨이 완료되면 Android SDK가 설치된 폴더의 /extras/android/support 폴더 안에 지원 패키지가 다운로드 됩니다.
정상적으로 설치가 완료되었으면 이클립스의 안드로이드 프로젝트에 아래와 같이 android-support-v4.jar 파일이 추가되고 안드로이드 지원 패키지에서 제공하는 클래스들을 사용할 수 있습니다.
출처 : 휴휴휴
'모바일프로그래밍 > Android' 카테고리의 다른 글
해상도에 따른 레이아웃 폴더와, 이미지 폴더 분기 (0) | 2012.11.08 |
---|---|
Target, minSdkVersion (0) | 2012.11.08 |
Proguard 적용하기 (1) | 2012.02.06 |
[펌] 성능을 위한 설계 (0) | 2012.01.13 |
this 사용에 따른 메모리 릭(Memory Leaks) (0) | 2012.01.13 |
Interpolation(보간법) 수식 (1) | 2012.01.06 |
Custom Widget에 사용자 속성 정의 및 사용하기 (0) | 2012.01.05 |
Searchable 리소스 (0) | 2011.12.28 |
플래그먼트(Fragment) (0) | 2011.12.20 |
Activity의 생명 주기 (0) | 2011.12.17 |