본문 바로가기

전체 글105

Android - LifecycleOwner vs ViewLifecycleOwner Android 앱을 개발하면서 가장 기본적이고 중요한 것 중 하나는 앱의 생명주기라고 생각한다. 생명주기, Lifecycle은 Activity, Fragment, Service 와 같은 앱의 구성요소에 따라 다르다. 흐름은 어느정도 비슷하지만, 호출되는 함수가 다른 등의 차이가 있다. 현재 Android앱을 개발하면 Jetpack을 너무나도 당연히 사용하게 되고, LiveData와 ViewModel 또한 활용하고 있을 것이다. 그러다보면 자연스럽게 LifecycleOnwer, ViewLifecycleOwner에 대해 알게 된다. 그렇다면 이 둘의 차이는 무엇인지 정리해보자. LifecycleOwner가 뭐야? 먼저, LifecycleOwer에 대해 알아보자. https://developer.android.. 2023. 1. 15.
Flutter - 화려한 애니메이션이 앱을 감싸네! Lottie 모바일 앱을 더욱 아름답게 만들어주는 것이 애니메이션이다. 화면전환, UI가 보여지고 가려지고, 사이즈 변경 등 많은 부분에 애니메이션을 녹일 수 있다. 그렇지만 아이콘이나 이미지라던가, 화려한 애니메이션은 어려운 부분이 많다. 그래서 주로 Lottie를 사용하곤 한다. https://lottiefiles.com/what-is-lottie What is a Lottie animation? - LottieFiles Lottie is a JSON-based animation file format that works on any device and platform. LottieFiles lets you create, edit, test, collaborate on and ship a Lottie animati.. 2023. 1. 15.
Flutter - Firebase Firestore 연동 - 데이터베이스 접근과 읽기/쓰기 앱 개발을 할 때 Firebase는 뗄레야 뗄 수 없는 훌륭한 도구다. Firebase는 많은 도구가 있지만, Firestore는 그 중에서도 정말 유용하게 사용된다. 백엔드를 구축하기 어려운 상황에서 손쉽게 클라우스 데이터베이스를 사용할 수 있기 때문이다. 현재 진행중인 Flutter 프로젝트에서 Firestore 사용이 필요하기 때문에, 연동 과정을 정리한다. 먼저 터미널에서 아래 커맨드로 cloud_firestore 패키지를 추가한다. flutter pub add cloud_firestore 패키지 추가가 완료되었으므로, Firestore에 접근할 객체를 얻어야 한다. 놀랍게도 굉장히 간단하다. 아래 코드로 객체를 얻는다. db = FirebaseFirestore.instance; 이제 객체를 사용.. 2023. 1. 14.
[Android] Fragment Lifecycle - onCreateAnimation 은 무엇일까? 안드로이드 앱을 개발하다보면 Fragment를 자주 사용하게 된다. 특히, Jetpack Navigation Component를 사용한다면 Fragment 기반의 Single Activity Application으로 개발하게 될 것이다. 그러다보니 Fragment의 Lifecycle에 대한 이해가 중요해지게 되었다. Fragment는 Activity와 달리, Fragment가 Attach, Detach되는 함수와 뷰가 생성되고 파괴되는 함수가 Lifecycle에 존재한다. 그런데 여기서 잘 알려지지 않은 라이프 사이클 함수도 있다. 바로 onCreateAnimation이다. package androidx.fragment.app; public class Fragment { ... /** * Called w.. 2023. 1. 14.
Flutter Web - Chrome에서 개발하기 Flutter로 모바일 앱 개발을 할 때 정말 좋은 점은 바로 Hot reload 기능이 아닌가 싶다. UI를 변경했을 때 앱이 재실행되지 않고 바로바로 반영이 되어 개발속도가 확연히 다르다. 그러나, Flutter Web 에서는 Hot reload가 안되는 듯 하다. ㅠ_ㅠ 대신 Hot restart를 지원한다. Hot restart? Hot restart는 현재 앱의 상태를 유지하지 않고, 재시작해서 초기 화면으로 돌아간다. 즉, 어떤 화면을 작업중이라면 다시 들어가서 확인해야 되는 것. 그래도 build를 다시 하는 것 보단 나으니까.. 그럼 Hot restart는 어떻게 하는 것일까? 먼저, 자신의 프로젝트를 켜고 아래 커맨드를 입력하자. flutter run -d chrome 그럼 위와 같은 로.. 2023. 1. 14.
Flutter Web - Firebase Hosting에 배포해보자! 2. Flutter WebApp 배포 지난 포스팅에서 Firebase Hosting 배포를 위한 프로젝트와 CLI 설정을 마쳤다. 이를 기반으로 Flutter 프로젝트를 Firebase Hosting에 배포해보자. 1. Flutter 프로젝트 생성 본인이 사용하는 운영체제와 IDE를 사용해서 Flutter 프로젝트를 생성한다. 지금은 Firebase Hosting에 배포하는 것이 목적이므로 기본으로 생성되는 프로젝트로 충분하다. 적당히 프로젝트 이름과 설명을 작성한다. 플랫폼은 이 포스팅에선 Web만 선택해도 충분하다. 다른 플랫폼이 필요하면 추가하면 되기도 하고. 2. Flutter 프로젝트에 Firebase 설정 Flutter 프로젝트와 Firebase를 연동하기 위해선 간단한 설정이 필요하다. Firebase 프로젝트 콘솔로 이동하여 .. 2023. 1. 8.
반응형