반응형 플러터293 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. [50살에 플러터 개발 도전기] 앱 이름 선정 완료! 드디어 내가 개발 중인 앱의 이름을 선정했다. Study Duck. 이름을 정하면서 한동안 많은 고민을 했다. 하지만 이제 이 이름으로 정해지니 마음이 한결 가벼워졌다. 이름에는 내가 만들고자 하는 앱의 컨셉과 철학을 담았다.Study Duck의 컨셉앱의 컨셉은 간단하다. 사람들이 자신이 공부한 것을 소셜 미디어에 공유하며 서로 자극을 받아 더 열심히 공부하도록 돕는 것이다. 이 과정에서 사람들은 동기 부여를 얻고, 서로의 학습 여정을 응원하며 함께 성장할 수 있다. 마치 오리들이 무리지어 다니며 같은 방향으로 나아가는 모습처럼, 사용자들이 함께 목표를 향해 가는 플랫폼을 만들고 싶었다.이런 컨셉에 딱 맞는 이름이 Study Duck이었다. 오리 캐릭터를 떠올리니 앱의 정체성이 한층 더 뚜렷해졌다. 심지.. 2025. 1. 6. [50살에 플러터 개발 도전기] 허밍버드 프로젝트의 첫 머지 날 안녕하세요, Flutter 개발을 꿈꾸는 50세의 개발자입니다.오늘은 제 첫 번째 Flutter 프로젝트인 허밍버드(Hummingbird)에 대해 이야기해보려고 합니다.허밍버드는 학습 관리 앱을 만들기 위한 프로젝트로, 이름에 담긴 의미가 있습니다.바로, Flutter의 마스코트인 벌새에서 영감을 받았기 때문입니다. 벌새처럼 빠르고, 정확하게, 그리고 효율적으로 학습을 관리할 수 있는 앱을 만들고자 하는 의지를 담아 이 이름을 선택했습니다.첫 번째 스프린트와 GitHub 협업프로젝트가 시작된 후, 첫 번째 스프린트가 진행되었습니다.팀원들과 함께 GitHub에서 협업을 시작했습니다.첫 번째 주에는 모두 모여서 첫 번째 머지를 진행했습니다.머지(Merge)는 우리가 작성한 코드를 하나로 합치는 중요한 과정입.. 2024. 12. 28. 이전 1 2 3 4 ··· 49 다음 반응형