티스토리 뷰
1. Android Jetpack 란 ?
- 멋진 Android 앱을 만들기 위한 컴포넌트, 도구 및 지침 세트
- 기존의 지원 라이브러리와 아키텍처 컴포넌트를 하나로 모아서, 다음과 같은 네 가지 범주로 배열
- 기본 Android 플랫폼에 속하지 않는 "별도의" 라이브러리로서 제공
- Android Jetpack 프로젝트의 Section 중 하나인 Android Architecture Component -> AAC
- 참고) 현재 구글에서 권장하는 pattern? MVVM 패턴 -> 참고 링크
-> 간단 설명?
- MVVM 패턴이란? View - ViewModel - Model을 사용하여 각각의 역할을 분리하여 가독성과 재 사용성을 높인다. - MVVM의 장점? (1) View가 데이터를 실시간으로 관찰하기 때문에 LiveData, 즉 Observble 패턴을 사용하여 데이터베이스를 관차라고 자동적으로 UI를 갱신 (2) 생명주기로부터 안전 ,View 모델을 통해 데이터를 참조하기 때문에 Activity/ Fragment 생명주기를 따르지 않음 (3) 역할분리 및 모듈화가 되어 있기 때문에 역할별로 정리하기가 좋음
|
* 안드로이드 아키텍쳐 컴포넌트( AAC, Android Architecture Components)
- Android Architecture Components , AAC
- 앱 구조를 튼튼하고 테스트에 용이하고 유지보수성에 뛰어나게 만들어주는 라이브러리 모음
- 모듈화된 코딩을 위해 Databinding, LiveData, ViewModel 등의 라이브러리 제공
- 안드로이드 기술 스펙 관련 정보 깃허브
2. Android Architecture Component Library (JetPack의 종류)
3. JetPack 구성요소
- WorkManager
- Navigation
- Paging
- 정리 포스팅
- Slices
- 정리 포스팅
- Android KTX(확장 프로그램)
- 정리 포스팅
- Databinding
- LifeCycle
- 정리포스팅
- LiveData (+ViewMode)l
- 관찰(Observable)이 가능한 Dataholder class, 뷰에서 뷰모델의 LiveData를 관찰하게 되면 데이터가 변경될때 내부적으로 자동적으로 알려주게 됨. 그리고 LiveData는 Activity나 Fragment의 생명주기를 인지
- Activity가 화면위에 활성화 되어 있을 때만 UI 변경 등의 기능동작, Destroy된 상태에서는 동작하지 않기 때문에 Memory의 leak 발생을 줄여줌
- 정리포스팅
- Room
- SQLite의 코드를 직접 작성하는 경우, 직접 테이블을 Create하거나 쿼리문을 일일이 변수에 저장해야했지만 Room을 쓰면 좀더 직관적이고 편리한 DB 사용
- SQLite의 코드를 직접 작성하는 경우, 직접 테이블을 Create하거나 쿼리문을 일일이 변수에 저장해야했지만 Room을 쓰면 좀더 직관적이고 편리한 DB 사용
4. Android 프로젝트에 구성요소 추가
출처<< developer.android.com/topic/libraries/architecture/adding-components?hl=ko
<출처>
1. developers-kr.googleblog.com/2018/05/use-android-jetpack-to-accelerate-your.html
2. developer.android.com/topic/libraries/architecture/adding-components?hl=ko
4.
'Programming > Android' 카테고리의 다른 글
[Android] 메모리관리 memory leak (0) | 2021.01.05 |
---|---|
[Android] 레이아웃 최적화(Layout Optimization) (0) | 2020.12.09 |
[Android] Context (0) | 2020.12.03 |
[Android] FireBase Database 사용하기 (0) | 2020.12.02 |
[Android] FireBase 시작하기 (0) | 2020.12.02 |