본문 바로가기
반응형

플러터295

[50살에 플러터 개발 도전기] 플러터 개발자의 꿈, 드디어 한 걸음 나아가다! (새싹청년취업사관학교 졸업) 2025년 3월 7일, 인생의 전환점드디어 오늘, 나는 새싹청년취업사관학교를 졸업한다. 50세의 나이에 새로운 도전을 시작하면서 걱정도 많았지만, 지금 이 순간만큼은 뿌듯함이 더 크다. 플러터 개발자로서 한 걸음 내디딘 이 과정이 쉽지는 않았지만, 이제는 내가 만든 앱을 세상에 공개할 준비를 하고 있다.Study Duck, 팀원들과 함께한 열정의 결과물졸업작품으로 학습 타이머 관리 앱을 개발하기 위해 3명의 팀원들과 머리를 맞댔다. 우리는 2개월 동안 Study Duck을 개발하며 수많은 시행착오를 겪었다. 특히 예상치 못한 위기가 찾아왔다. 백엔드 담당 팀원의 갑작스러운 탈퇴! 정말 긴급한 상황이었지만, 포기할 수는 없었다. 우리는 즉시 논의 끝에 파이어베이스(Firebase)를 도입해 백엔드를 재구축.. 2025. 3. 4.
플러터에서 화면이 꺼지지 않도록 하는 방법: wakelock 패키지 사용법 Flutter 앱을 개발하다 보면 화면이 꺼지는 것을 방지해야 할 경우가 있습니다.예를 들어, 사용자가 비디오를 보고 있을 때나 게임을 할 때 화면이 꺼지지 않도록 해야 할 때 유용합니다.이럴 때 wakelock 패키지를 사용하면 매우 간편하게 화면이 꺼지지 않도록 설정할 수 있습니다.이번 글에서는 wakelock 패키지를 사용하여 화면 꺼짐을 방지하는 방법을 알아보겠습니다.1. wakelock 패키지 설치하기먼저, wakelock 패키지를 프로젝트에 추가해야 합니다.이를 위해 pubspec.yaml 파일을 열고 dependencies 섹션에 wakelock을 추가합니다.dependencies: flutter: sdk: flutter wakelock: ^0.5.0 # 최신 버전으로 수정해주세요.. 2025. 2. 23.
HomeScreen({super.key}); vs HomeScreen({Key? key}) : super(key: key); 무슨 차이? 결론적으로 말하면 두 코드의 차이점은 명시적인 키 전달 여부입니다.1️⃣ HomeScreen({super.key});✅ 설명Dart의 super parameter shorthand(슈퍼 매개변수 단축 문법)를 사용한 형태입니다..super.key는 부모 클래스(StatefulWidget 또는 StatelessWidget)의 생성자로 자동 전달된다는 뜻입니다.즉, super.key는 사실상 Key? key를 선언하고, super 생성자로 넘기는 것과 동일합니다.🔹 내부적으로 변환되는 형태HomeScreen({Key? key}) : super(key: key);2️⃣ HomeScreen({Key? key}) : super(key: key);✅ 설명이 코드는 전통적인 방식으로 Key를 직접 선언한 뒤, su.. 2025. 2. 14.
iOS에서 백그라운드 위치 추적 구현하기 안드로이드에서는 Foreground Service를 활용하면 되지만, iOS는 백그라운드에서 GPS를 실행할 수 있는 정책이 다릅니다.iOS는 사용자의 배터리 소모를 줄이기 위해 앱이 백그라운드 상태일 때 대부분의 작업을 제한합니다.하지만 Background Modes와 Significant Location Changes (중요 위치 변경), Region Monitoring을 사용하면 조깅 앱에서도 지속적인 위치 추적이 가능합니다.1️⃣ iOS에서 백그라운드 위치 추적을 위한 설정🔹 (1) Info.plist에 백그라운드 권한 추가ios/Runner/Info.plist 파일을 열고 다음을 추가합니다.NSLocationAlwaysAndWhenInUseUsageDescription조깅 기록을 위해 사용자의.. 2025. 2. 12.
[50살에 플러터 개발 도전기] 플러터에서 GPS 백그라운드 작업 구현: WorkManager, Background Fetch, Isolate를 사용한 경험 안녕하세요! 이번에는 설 연휴를 맞아 실제 기기에서 플러터 프로젝트를 테스트해보면서 느낀 점을 공유하려고 합니다.주제는 바로 GPS 위치를 백그라운드에서 받아 Hive에 저장하는 코드 구현과 그 과정에서 사용한 Flutter 패키지들입니다.이번에는 WorkManager, Background Fetch, 그리고 Isolate 세 가지를 사용했는데, 각 패키지의 장단점과 백그라운드 작업의 어려움에 대해 자세히 다뤄보겠습니다.구독!! 공감과 댓글,광고 클릭은 저에게 큰 힘이 됩니다. 1. WorkManager: 백그라운드 작업의 시작플러터에서 백그라운드 작업을 처리하는 데 있어 가장 많이 사용되는 패키지 중 하나가 WorkManager입니다.제가 처음 이 패키지를 접했을 때 가장 인상 깊었던 점은 간단한 설정.. 2025. 2. 3.
[50살에 플러터 개발 도전기] Hive 패키지 문제 해결 여정 안녕하세요, 플러터 개발자를 꿈꾸는 50세의 개발자입니다. 오늘은 허밍버드 팀과 함께 학습관리 앱을 개발하면서 겪었던 특별한 경험을 공유하려 합니다.Hive 패키지에서 발생한 문제우리 팀은 학습관리 앱 개발 도중 Hive 패키지를 사용하면서 예상치 못한 문제가 발생했습니다. 앱을 종료하고 다시 실행하면 Hive에 저장했던 데이터가 null로 변하는 이상한 증상이 나타난 것입니다. 이 문제는 처음에 쉽게 해결될 것처럼 보였지만, 실제로는 복잡한 원인이 숨겨져 있었습니다.문제 원인 파악문제를 해결하기 위해 팀원들과 함께 이틀간 다양한 시도를 했습니다. 여러 로그를 분석하고, 공식 문서를 다시 검토하며 원인을 찾으려 노력했죠. 결국, 문제의 핵심은 model이 자동으로 Dynamic으로 변경되면서 캐스팅이 이.. 2025. 1. 17.
반응형