SulfurBottom's Lair

SulfurBottom
Written by@SulfurBottom
Front-End Developer. Like Develop, Travel, Friend.

GitHubLinkedIn

Android 신규 개념 정리

들어가기 전에 제목에서 패기좋게 신규 개념이라고 언급해 놓았지만, 여기서 말하는 신규 개념은 내 기준에서의 신규 개념이다. 이번에 개인 안드로이드 프로젝트 개발을 진행하면서 배운 사실들을 정리해보려고 하는데, 한번에 몰아서 정리하려니 뭘 정리해야 될지조차 모르겠다. 그래서 그동안 새로 배운 개념들을 쭉 정리해보고 나중에 하나씩 정리해 볼 생각이다. 포스트…

Material UI를 활용한 Transition 적용하기

개요 Android 개발자는 UI를 구현하기 위한 많은 Custom View와 라이브러리들을 사용한다(물론 하나하나 직접 만드시는 괴물들도 많지만…) 특히나 나처럼 1인 개발을 하지만 UI를 세심하게 못짜는 사람들을 위한 UI Framework도 존재한다. 그중 가장 대표적인 Android UI Framework가 바로 Material UI 일것이다. 이…

Room Database에 1:N 관계 정의하기

개요 Room Database를 활용하여 데이터 모델링을 하다보면, Entity간에 1:N, 또는 N:N 관계를 정의해야할 경우가 생긴다. 물론 해당 케이스에 대해서 Room 공식 문서에 잘 설명되어있지만, 내가 겪었던 시행착오와 함께 정리하여 추후에 적용할 때도 이해를 돕고자 한다. 사례 구성 일단 이해를 돕기 위하여 실제로 적용했던 프로젝트의 데이터 …

Navigation API를 활용한 Fragment간 이동 구현

개요 최근 프로젝트를 개발하던 중, Fragment 간의 이동을 관리하고 Navigation을 관리해주는 Navigation API을 알게 되었다. 언제나 그래왔듯이 제일 설명이 잘된 것은 구글 공식 문서(…)이니 앞서 걸어놓은 링크의 문서를 참조하는 것을 추천한다. 이후부터는 Navigation API를 적용하면서 알게된 점이나 주의할 점을 서술하겠다.…

Binding Adapter와 Type Converter

개요 Binding Adapter와 Type Converter는 완전히 다른 개념이지만, 개인적으로는 이 두가지는 프로젝트 개발 당시에 동시에 이슈가 터지는 항목이다. 왜냐면 나는 데이터 모델링과 Data binding 적용 시에 자료형 선언 및 관리에 세심한 주의를 기울이지 않는 큰 단점이 있기 때문이다 데이터 모델링 당시에 기본 자료형이 아닌 Cust…

Android Project에 ViewModel 적용하기

개요 Android Project에 다양한 라이브러리와 패턴들을 적용하고 구현했다면, 이제 ViewModel에 데이터를 전달하여 관리하도록 적용해야한다. 해당 포스트에서는 앞서 프로젝트에 적용한 Koin과 AAC ViewModel을 활용한 예시를 다루겠다. 적용 1. ViewModel 정의 2. DI 적용 3. Activity Injection 을 통…

Android Project에 Repository 패턴 적용하기

개요 Android Project에서 화면의 데이터를 관리하는 구성요소는 ViewModel이지만, 각종 Data Source로부터 해당 ViewModel에 데이터를 공급할 때는 Repository 패턴을 활용한다. 구현 기본적으로 프로젝트 폴더 내에 라는 Package 경로를 생성하여 활용한다. 해당 포스트에서는 Room Database로부터 데이터를 공…

Android Project에 Room 적용하기

개요 Room은 Android Project에 내부 저장소를 활용하여 DB처럼 활용하기 위하여 제공되는 Android Library이다. 자세한 내용은 Android 공식 문서에서 확인할 수 있기 때문에, 이 포스트에서는 Project에 적용하는 간단한 방법에 대해서만 다룰 예정이다. 참고문서 - Android Architecture Components …

Android Project에 Koin 적용하기

개요 나는 Android Project를 최초 생성하면 가장 먼저 적용하는 것이 Dependency Injection 라이브러리이다. 프로젝트 내 각 구성요소간 의존성 주입을 관리해주는 DI 라이브러리는 프로젝트 전체 구조에 대한 유연한 확장성을 부여해주기 때문이다. Android Project에서 가장 많이 쓰이는 DI 라이브러리는 Dagger2, Ko…

Two-way Databinding 적용해보기

개요 이전의 Databinding의 방식이 ViewModel의 데이터를 Layout XML의 화면에 전달하는 방식이었다면 Two-way Databinding(양방향 데이터바인딩) 은 화면에서의 입력이 반대로 ViewModel의 데이터에 영향을 주는 연결방식을 말한다. 따라서, ViewModel의 데이터가 화면에 연결됨과 동시에 화면에서의 데이터 변경 동작…