[Android-공식문서 파헤치기] Architecture Component(1) - Overview

이동현·2020년 7월 9일
0

본 시리즈는 안드로이드 아키텍처를 이해하기 위해 Android 공식문서를 읽고 정리한 글의 모음입니다.
공부하면서 작성하는 글이기 때문에 내용상 오류가 있을 가능성이 매우 높습니다.
https://developer.android.com/topic/libraries/architecture
https://developer.android.com/topic/libraries/architecture/adding-components


목표

이 시리즈는 Architecture들에 대한 간략한 설명과 함께, 최종적으로는 공식 샘플인 Sunflower를 분석하는 것까지를 목표로 합니다. 더 나아가서, 각 컴포넌트들에 대한 디테일한 개념까지 공부하며 포스팅 하는것도 계획중에 있습니다.

Android Architecture Components (AAC)

안드로이드에서는 더 나은 개발환경을 위해 Android Jetpack으로 구성된 여러 라이브러리들을 제공했습니다. Android Architecture Componenets(AAC)는 Jetpack에서의 Architecture를 다루고 관리하는 여러 라이브러리들의 집합입니다.

Components(구성요소)

Architecture를 다루기위해 사용되는 구성요소로는 아래와 같은 것들이 포함됩니다.

  • Data Binding
  • Lifecycles
  • LiveData
  • Navigation
  • Paging
  • Room
  • ViewModel
  • WorkManager

Architecture에서 다루는 부분

Android Architecture에서는 강력하고 유지보수가 쉬운 앱을 디자인하도록 돕습니다.

  • Lifecycle을 인식하는 컴포넌트를 사용하여 ActivityFragment의 생명주기를 관리합니다. 이를 통해 불필요한 memory leak를 방지할 수 있으며 UI로 데이터를 쉽게 불러올 수 있습니다.
  • LiveData를 사용하면 데이터베이스가 변경되었을 때 뷰에 알리는 객체를 이용할 수 있습니다.
  • ViewModel은 UI와 관련된 데이터들이 앱이 회전되어도 유지가 되도록 도와줍니다.
  • Room은 SQLite 객체 매핑 라이브러리입니다. 데이터베이스의 데이터를 객체로 변환 가능하기 때문에 컴파일 단계에서 에러를 발생시킵니다 (실제 실행시의 버그를 줄여줌). 또한 LiveData와의 연계를 통해 Observation으로 생성이 가능합니다.

Adding Components

프로젝트build.gradle 파일을 열고 라이브러리를 다운 받을 때 사용 할 repository를 설정해둡니다. google() 을 추가해줍니다.

allprojects {
    repositories {
        google()
        jcenter()
    }
}

그 후, 라이브러리를 implementation 해줘야합니다.

사용할 라이브러리들의 문서에 들어가셔서 implementation후 Sync를 하여 사용 준비를 마칩니다.

profile
영차영차

0개의 댓글