목록분류 전체보기 (57)
SW 공부노트

Room DB Room은 앱을 견고하고 유지보수성이 뛰어나도록 만들어주는 라이브러리 모음인 AAC 중 하나이다. Room은 SQLite DB를 모두 사용할 수 있고, 더 쉽게 사용할 수 있도록 하는 라이브러리이다. Room 데이터베이스는 SQLite를 사용하기 위한 액세스 포인트이다. AAC의 다른 컴포넌트인 LiveData, ViewModel 등을 사용해 더 간편하게 DB를 관리하고 UI를 갱신할 수 있다. Room의 구성요소는 다음과 같다. Database: 기본 앱 데이터베이스 연결을 위한 기본 액세스 포인트 Dao(Data Access Object): 데이터베이스에 접근하는 함수를 포함한다. Model(Entity): 데이터베이스 내 테이블을 클래스로 나타낸 것이다. Gradle 설정 // Roo..

클린 아키텍쳐란? 클린 아키텍처는 위와 같이 4가지 계층으로 이루어져 있다. 이렇게 계층을 나누는 이유는 계층을 분리시켜 관심사를 분리시키기 위해서이다. 이렇게 분리된 계층에서 의존성 규칙을 지켜야 아키텍처가 올바르게 동작할 수 있다. 즉, 각 분리된 계층이 각자의 역할을 가지고 있으며 서로 의존을 어떻게 할지 규칙이 정해져 있다는 의미이다. 의존성은 반드시 외부에서 내부로 향해야 한다. 즉, 비즈니스 로직을 담당하는 코드들이 DB나 네트워크 같은 세부사항에 의존하지 않아야 한다는 의미이다. 이를 통해 비즈니스 로직(내부)은 세부사항(외부)의 변경에 영향을 받지 않도록 할 수 있다. 클린 아키텍처의 각 계층의 역할은 다음과 같다. 1. 엔티티(Entities): 핵심 업무 -> 가장 변하지 않고 영향을 ..

https://developer.android.com/codelabs/jetpack-compose-layouts?hl=ko&continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fcompose%3Fhl%3Dko%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fjetpack-compose-layouts#0 Compose의 기본 레이아웃 | Android Developers 이 Codelab에서는 Compose에서 즉시 제공되는 컴포저블과 수정자를 통해 실제 디자인을 구현하는 방법을 알아봅니다. developer.android.com 본 글은 위 과정을 공부하며 작성한 글입니다. 왼쪽 ..

ViewModel ViewModel은 뷰에 표시되는 앱 데이터 모델으로 UI 관련 데이터를 저장하고 관리해주는 역할을 한다. 생명주기에 영향을 많이 받는 UI 컨트롤러가 데이터에 관여하지 않도록 따로 분리한 것이다. ViewModel은 Android 프레임워크에서 View가 소멸되고 다시 생성되어도 데이터를 계속해서 유지한다는 큰 장점이 있다. 따라서 구성이 변경되는 동안 데이터가 유지되기 때문에, 다시 생성된 뷰에서 데이터를 즉시 사용할 수 있다. ViewModel은 액티비티 혹은 프래그먼트와 다른 생명주기를 가진다. finish 메서드가 호출되거나, 사용자가 직접 액티비티를 종료했을 때 onCleared 메서드를 통해 소멸된다. ViewModel 객체의 범위는 ViewModel을 가져올 때 ViewM..