반응형 앱개발44 플러터에서 WorkManager로 GPS 위치를 백그라운드에서 저장하는 방법 안녕하세요, 기술 블로거 [Maccrey]입니다.이번에는 플러터에서 WorkManager 패키지를 활용하여 백그라운드에서 GPS 위치를 받아와서 Hive에 저장하는 방법에 대해 알아보겠습니다.특히 스마트폰이 꺼져도 계속해서 위치를 저장할 수 있는 방법에 대해 초보자도 쉽게 이해할 수 있도록 풀어볼게요.1. GPS 위치 백그라운드 작업 제한 이해하기플러터에서 GPS 위치를 백그라운드로 받아오는 작업을 하려고 할 때, 대부분의 Android 기기에서는 백그라운드 작업을 제한합니다.앱이 백그라운드에서 실행 중일 때, 시스템 자원을 절약하고 배터리 소모를 줄이기 위해 자동으로 앱을 종료시킬 수 있습니다. 그러나 조깅 앱과 같은 경우, 스마트폰이 꺼져도 계속 위치를 추적해야 하므로 이러한 제한을 우회해야 합니다... 2025. 2. 12. [50살에 플러터 개발 도전기] 화이트 노이즈개발과의 싸움 학습 타임 관리 앱의 핵심 기능, 화이트 노이즈요즘 내가 개발하고 있는 학습 타임 관리 앱에서 가장 중요한 기능 중 하나가 화이트 노이즈 기능이 되었다. 사용자가 집중할 수 있도록 여러 가지 소리를 혼합하여 들을 수 있게 하는 것이 핵심이다. 처음에는 just_audio 패키지를 이용하여 화이트 노이즈를 구현했다. 앱을 닫아도 백그라운드에서 재생이 유지되었고, 에뮬레이터에서도 정상적으로 작동했다. 하지만 실기 테스트를 진행해보니, 약 20분 정도가 지나면 OS에서 백그라운드를 종료시키면서 재생이 중단되는 문제가 발생했다. just_audio_background의 한계이 문제를 해결하기 위해 just_audio_background 패키지를 추가하여 백그라운드 재생을 시도했다. 하지만 새로운 문제에 직면했다.. 2025. 2. 11. [50살에 플러터 개발 도전기] Hive 패키지 문제 해결 여정 안녕하세요, 플러터 개발자를 꿈꾸는 50세의 개발자입니다. 오늘은 허밍버드 팀과 함께 학습관리 앱을 개발하면서 겪었던 특별한 경험을 공유하려 합니다.Hive 패키지에서 발생한 문제우리 팀은 학습관리 앱 개발 도중 Hive 패키지를 사용하면서 예상치 못한 문제가 발생했습니다. 앱을 종료하고 다시 실행하면 Hive에 저장했던 데이터가 null로 변하는 이상한 증상이 나타난 것입니다. 이 문제는 처음에 쉽게 해결될 것처럼 보였지만, 실제로는 복잡한 원인이 숨겨져 있었습니다.문제 원인 파악문제를 해결하기 위해 팀원들과 함께 이틀간 다양한 시도를 했습니다. 여러 로그를 분석하고, 공식 문서를 다시 검토하며 원인을 찾으려 노력했죠. 결국, 문제의 핵심은 model이 자동으로 Dynamic으로 변경되면서 캐스팅이 이.. 2025. 1. 17. 플러터 패키지 adaptive_dialog 2.3.0 사용법: 다양한 다이얼로그 쉽게 구현하기 Flutter로 앱을 개발하다 보면 사용자와의 상호작용을 위한 다이얼로그(Dialog)를 자주 사용하게 됩니다.하지만 기본 제공되는 다이얼로그는 커스터마이징하기 어렵고, 여러 플랫폼(Android/iOS)에 맞춘 디자인을 구현하려면 번거로운 작업이 필요합니다.이 문제를 해결하기 위해 adaptive_dialog 패키지가 유용합니다.이번 글에서는 adaptive_dialog 2.3.0 패키지를 설치하고 사용하는 방법을 단계별로 알아보겠습니다.1. adaptive_dialog란?adaptive_dialog는 Flutter에서 다양한 다이얼로그(알림창, 옵션 선택창, 텍스트 입력창 등)를 쉽게 구현할 수 있도록 도와주는 패키지입니다.플랫폼(Android/iOS)에 맞는 네이티브 스타일의 다이얼로그를 자동으로 .. 2024. 12. 3. 플러터에서 MVVM 패턴의 ViewModel이란? MVC 패턴과 비교해서 이해하기 앱 개발을 하다 보면 MVC, MVVM 같은 아키텍처 패턴을 접하게 됩니다.이 중 MVVM 패턴에서의 ViewModel은 앱의 구조를 이해하는 데 중요한 역할을 하지만, 많은 초보 개발자들이 이 개념을 헷갈려 합니다. 특히 MVC 패턴과의 차이점을 이해하면 MVVM의 ViewModel 역할이 더 명확해집니다.이번 글에서는 MVC와 MVVM 패턴을 비교하여 ViewModel이 무엇인지 쉽게 설명하겠습니다.MVC 패턴이란?MVC 패턴은 Model-View-Controller로 구성된 전통적인 아키텍처 패턴입니다.Model: 데이터와 비즈니스 로직을 처리합니다. 데이터베이스와의 상호작용이나 API 호출을 담당하는 부분입니다.View: 사용자에게 보여지는 화면(UI)입니다. 예를 들어, Flutter의 위젯이 .. 2024. 11. 14. 플러터의 builder() 함수 완벽 이해하기! 초보자도 쉽게 배우는 빌더 함수 사용법 Flutter 개발을 시작하다 보면 여러 가지 함수와 위젯을 만나게 되는데, 그중에서도 builder() 함수는 다양한 상황에서 자주 사용됩니다.하지만 builder()라는 이름만으로는 이 함수가 정확히 어떤 역할을 하는지 직관적으로 이해하기 어려울 수 있어요.이 글에서는 Flutter 초보자도 쉽게 이해할 수 있도록 builder() 함수가 무엇이고, 언제 그리고 어떻게 사용하는지 친절하게 설명드리겠습니다.builder() 함수란?builder() 함수는 Flutter에서 반복적으로 화면을 그리거나, 데이터가 업데이트될 때마다 UI를 새로 그려야 할 때 사용하는 함수입니다.예를 들어, 많은 데이터를 스크롤하면서 보여줘야 하거나 리스트에서 데이터가 동적으로 추가되는 상황에서 builder() 함수가 큰 .. 2024. 11. 14. 이전 1 2 3 4 ··· 8 다음 반응형