티스토리 뷰

Mobile/Android

[Android]Compatibility Package

out of coding 2014. 11. 10. 15:59

허니콤 이후부터 안드로이드는 급속하게 변화가 되었다.

ActionBar도 생기고, Fragment도 생기고...


그러나 이런 좋은 부분들을 사용하기에는 고객사의 하위 버전은 너무 낮았다.

2.1에서 개발을 하라니... 어쩌라는것인가...


그래서 구글에서 우리는 어여삐 여기어, 하위 버전 호환성 패키지를 만들어주었다.

이것들이 우리가 쉽게 알고 있는 v4, v7등이다... 이렇게 버전이 붙어있는것들의 의미는 최소버전을 의미하며,

v4 = API4, v7 = API7 이렇다...

v7이후에도 여러가지 버전이 있지만... 위에서도 적은것처럼. 회사에서는 2.1 즉 7이 최하 버전이다 ㅠㅠㅠ

그래서 눈물을 머금고 저 버전에서 개발을 하여야 하는데... 주요한것은 v7이라 그래서 떵그러니 돌아다니는것이 아니라.

하위 버전들은 포함을 시키면서 버전이 업이 되었다는것이다.


주요 기능들.

1. Fragment : 3.0 이후에 UI를 구성할때 새롭게 추가된 부분임. 기존의 iPhone같은 화면을 구성할수 있으며, View를 넣었다가 빼었다하는 단위 모듈로 개발을 하여서 사용을 할수 있다. 아주 편안하며 쉬우며, 생명주기를 가지고 있어서, 서로 연계가 되어서, 동작을 할수있다. 개발 취지는 허니콤 이 후에 멀티 패널 UI가 요구됨에 따라 엑티비티가 여러 기능을 수행할 필요가 생기면서, 액티비티에 포함시킬수 있으나, 독립적으로 동작할수 있는 요소로 개발이 되었다. 액티비티와 뷰의 중간정도 쯤

2. Loader : 비동기적으로 데이터만 받아서 오도록 하는 Abstract 클래스임. AsyncTask가 UI를 처리하기 위해서 만들어졌다면, 이 녀석은 데이타 로딩을 위해서 만들어진 것이라고 헐 수 있다. 비동기적인 작업은 비단 네트워크통신만을 말하는것이 아니고, 다른 예로는 내부DB의 데이터를 읽어오는 IO 상에서도 발생을 할 수 있습니다. 이런 경우, CursorLoader를 사용하여서 해결할 수 있습니다.

3. ViewPager : Gallery와 흡사한 모습을 가지고 있지만, 전혀 다른 뭐라고 할까... 수평으로 이동하는 모습을 가진 View임. 특징은 아이폰과 안드로이드 홈화면에서 작동하는 옆으로 이동하는 VIew를 만들수 있는것이 특징입니다.

4. LruCache : LRU에 대해서, 아는 개발자들은 그냥 딱봐도 알것이다. 그러나 모르는 분들을 위해서, Hash의 최대 크기를 지정하여서 생성이 가능하며, 가장 참조가 되지 않았던 아이템에 대해서, 메모리에서 제거 되도록 하는것입니다. 쉽게 말해서 자주 사용하는 부분들을 Cache로 구성하여서 사용하는 Cache입니다.


우리는 이렇게 안드로이드에서 제공하여주는 호환성 패키지를 가지고, 개발을 쉽게 할 수 있을 뿐만 아니라, 개발을 하는 동안 꼼수로 개발을 하여서, 상위버전이 출시되는 순간 오류가 발생하여서, 다시 개발을 하여야하는 문제점들을 없애주게 되며, 소스의 간결함 또한 마주하게 됩니다. 저는 이후에 개발에 대해서, UI적으로나, 꼼수는 웬만하면 사용을 하려고 하지 않습니다. 버전별로 문제가 생기는것을 대체하는것이 어떠한 결과가 발생할지에 대해서 많이 보아왔기 때문입니다.


설치및 적용.

1. Android SDK Manager를 실행.

2. Extra > Android Support Library를 추가함. (2014년 11월 10일기준. 변동가능성있음.)



3. 다운로드 된 내역은 <sdk폴더>/extras/android/support/ 하위에 포함됩니다.

4. 적용

 - v4 : Java Build Path > Libraries탭의 Add External JARs선택하여 포함시켜줌

 - v7 : Import > Existing Android Code Into Workspace > 3번의 내용에서 v7의 다양한 라이브러리를 포함

           (소스는 꼭 복사하는것으로 한다. 이렇게 되면 라이브러리프로젝트가 하나 생기는데, 이 부분을 사용할 Project에 포함하여 사용하도록 한다.)

          

'Mobile > Android' 카테고리의 다른 글

[Android]adb - download file  (0) 2014.11.19
[Android]adb - 무선연결  (0) 2014.11.16
[Android]Scroll이 되는 View에서 그림자 없애기  (0) 2014.11.05
[Android]LocalBroadcastManager  (0) 2014.11.05
[Android]String resource 사용  (0) 2014.10.29
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함