본문 바로가기

안드로이드

Android jetpack

Android jetpack : 안드로이드 플랫폼에 속하지 않는 별도의 라이브러리로 안드로이드 앱을 만들기 위한 컴포넌트, 도구 , 지침세트이다. 


1) Architecture : Databinding, LifeCycle, LiveData, Navigation, Paging ...


2) UI : Animation, Transitions, Emoji, Fragment, Layout, Pallette


3) Behavior : DownloadManager, Notification, Permission, Sharing, Slices,


4) Foundation : AppCompat, Android KTX, Multidex, Test



새로 추가된 5개의 컴포넌트 : Workmanager, Navigation, Paging, Slices, Android KTX


1. WorkManager : 제약조건 기반의 백그라운드 비동기 작업을 위한 컴포넌트 


   ex) 네트워크에서 새로운 리소스를 다운로드해야 할때 작업이 실행될 적절한 상황을 선택하고 조건이 충족될때 작업을 실행하게 할 수 있다. 


        기기가 재부팅되거나 강제종료시에도 작업이 계속 실행되게 할 수 있다. 


   장치의 API수준 및 포함된 종속성에 따라 jobscheduler, firebase jobdispatcher, Alarm manager를 적절하게 사용한다.


   즉 작업제약조건을 설정하여 장치가 유휴조건, 전원연결시에만 작업이 가능하도록 할 수 있다.  


2. Navigation - 앱에서 탐색구현을 단순화하게 도와주는 컴포넌트로 


   하나의 주된 액티비티와 함께 여러 프래그먼트를 탐색하는 방식으로 인앱탐색을 구성할 수 있게 쉽게 도와주는 컴포넌트 


3. Paging - Recyclerview에서 대용량 데이터를 쉽게 로드하고 표시가능하게 도와주는 컴포넌트 


               앱에서 표시되는 데이터가 대용량이고 로드시간이 오래 걸릴수있으므로 너무 많은 데이타를 한꺼번에 다운로드하거나 표시하는 것을 피하는


               것이 중요하다. 


4. Slices - 앱 UI를 google 어시스턴스내의 검색결과로 표시하게 해주는 컴포넌트 


5. Android KTX - kotlin 지원도구로 보다 간결하게 코딩이 가능하도록 도와준다.