본문 바로가기

jetpack3

[Android-Compose] 안드로이드 컴포즈 1편(컴포즈란?) 이번 공부 내용 시리즈는 예전부터 꾸준히 언급되고 있는 Jetpack Compose에 대해 공부해 보겠다. # 컴포즈(Compose) 란? 우선 공식문서에 적힌 컴포즈에 대한 설명을 보면 아래와 같이 설명하고 있다. Jetpack Compose는 Android를 위한 현대적인 선언형 UI 도구 키트입니다. Compose는 프런트엔드 뷰를 명령형으로 변형하지 않고도 앱 UI를 렌더링 할 수 있게 하는 선언형 API 를 제공하여 앱 UI를 더 쉽게 작성하고 유지 관리할 수 있도록 지원합니다. 이 용어에 관해 몇 가지 설명이 필요하며, 앱 디자인에 있어 중요한 함의를 갖습니다. - XML레이아웃 대신 선언형 함수를 사용하여 UI를 구성 - UI 개발 효율성을 극대화하기 위하여 개발됨 - State로 UI를 동.. 2022. 7. 24.
Android Jetpack - 4편 데이터 바인딩(Data Binding)이란? 이번에는 DataBinding을 알아보자 # 데이터 바인딩(Data Binding)이란? 간단하게 말하자면 데이터와 뷰를 연결하는 작업을 레이아웃에서 처리할 수 있게 해주는 라이브러리이다. 말로만 설명하면 이해가 안 될 수도 있기 때문에 아래 예시를 보자 fun main() { var textView = findViewById(R.id.sample_text) textView.Text("Hello") } 원래는 텍스트뷰에 문자를 넣거나 변경하기 위해 코드상에서 집어넣는 작업을 해주었다. 그래서 Data Binding을 사용하면 코드를 작성하지 않고 레이아웃 파일에서 직접 데이터 바인딩 표현식을 사용하여 작성할 수 있다. 이렇게 하면 자연스레 액티비티에는 로직만을 위한 코드만 남게 되고 뷰와 관련된 작업은 .. 2022. 2. 20.
Android Jetpack - 1편 (Room) 예제를 이용한 사용법 # Room이란? Room은 스마트폰 내장 DB에 데이터를 저장하기 위해 사용하는 라이브러리이다. 다양한 Annotation을 통해 컴파일 시 코드들을 자동으로 만들어주며 LiveData, RxJava와 같은 Observation 형태를 지원하고 MVP, MVVM과 같은 아키텍처 패턴에 쉽게 활용할 수 있도록 되어있다. 과거에는 SQLite라는 데이터베이스 엔진을 이용해 데이터를 저장했으나 안드로이드 공식 문서에서는 다음과 같은 이유로 Room사용을 지향 하고 있다 Room은 완전히 새로운 개념은 아니고, SQLite를 활용해서 객체 매핑을 해주는 역할을 한다. # Room 구조 Room은 위에 사진처럼 Database,Entity,Dao(Data Access Object) 3가지 구성요소가 있다. # .. 2022. 1. 20.