목록Android (7)
Groo

안녕하세요, 오늘은 구글에서 새롭게 출시한 선언형 UI 도구 키트인 Jetpack Compose에 대해서 알아보려고 합니다. 아직까지 Compose는 알파와 베타 버전이 혼합되어 있지만 빠른 속도로 발전되고 있어 공부 가치가 충분히 있다고 생각합니다. 🚀 Jetpack Compose가 도대체 뭔데? Compose는 안드로이드 네이티브의 UI를 개발하기 위해 구글에서 새롭게 출시한 선언형 UI 도구 키트입니다. Compose를 활용하여 UI 개발을 진행한다면 이전에 XML 방식으로 UI 개발을 진행할 때는 경험하지 못했던 아래와 같은 장점들을 얻을 수 있습니다. 1) 코드 감소 적은 수의 코드로 더 많은 작업을 하고 전체 버그 클래스를 방지할 수 있으므로 코드가 간단하며 유지 관리하기 쉽다. 2) 직관적 ..

안녕하세요, 오늘은 안드로이드의 내부 DB에 대해서 한 번 알아보는 시간을 가지려고 합니다 그중 저희는 Room이라는 라이브러리를 활용하여 실제로 안드로이드 속 내부 DB를 구현해보겠습니다. 🤔 내부 DB란 무엇인가? 안드로이드에서는 앱의 데이터를 효율적으로 관리하기 위한 저장소로 SQLite라는 데이터베이스를 제공하고 있습니다. 이는 다른 외부 DB들과 달리 소규모 데이터를 관리하고 사용하는데 적합한 관계형 데이터베이스입니다. 적은 데이터를 관리하는데 최적화된 만큼 속도가 빠르고 가볍다는 장점이 존재하여 현시점의 많은 애플리케이션들이 공통적으로 내부 DB를 활용하고 있는 추세입니다. 간단한 예시를 들어보겠습니다. 현대의 대다수의 사람들은 카카오톡을 사용하고 있습니다. 카카오톡을 통해 다른 사람들과 연락..

안녕하세요, 오늘은 이전 시간에 배운 DI 의존성 주입 디자인 패턴을 실제로 구현해보려고 합니다. DI 디자인 패턴을 구현할 수 있도록 도와주는 다양한 기술들 중 먼저 Koin 코인 라이브러리에 대해 알아보겠습니다. 🛎 DI 의존성 주입 디자인 패턴 정리 먼저 Koin 라이브러리에 대해 알아보기 전 지난 시간에 배운 DI 의존성 주입에 대해 간략히 복습하겠습니다. 의존성이란 한 객체가 다른 객체를 참조하거나 필요로 하는 경우 이를 의존성이 존재한다고 부릅니다. 반면에 주입은 의존성이 존재하는 객체가 필요로하는 다른 객체를 간접적으로 대신 전달해주는 역할을 합니다. DI 의존성 주입에 대한 자세한 내용은 이전에 작성한 글을 참고해주세요. Dependency Injection 디자인 패턴 안녕하세요, 오늘은..

안녕하세요, 오늘은 다음 시간에 배울 MVVM 디자인 패턴에 대해서 알아보기 전 꼭 알아야 하는 내용인 ViewModel 뷰 모델과 LiveData 라이브 데이터에 대해서 알아보도록 하겠습니다. 정말 중요한 내용입니다. 🙈 ViewModel 뷰 모델은 무엇이고 왜 사용해야하나요? ViewModel 클래스는 UI 관련 데이터를 저장하고 관리하도록 설계되었습니다. ViewModel 클래스를 사용해야하는 두 가지 이유를 살펴보겠습니다. 만약 사용자가 앱의 화면을 전환한다면 시스템의 UI 컨트롤러가 종료되어 기존의 데이터를 잃어버리게됩니다. 이러한 문제를 해결하기 위해서 간단한 데이터의 경우에는 onSavedInstance 메스드를 활용하여 데이터를 저장하고 복원할 수 있지만 만약 데이터의 값이 복잡하거나 또는..