전체 글 806

너에게 이 책이 딱이야! 2회차

약 한 달 전, [너에게 이 책이 딱이야!] 라고 하는 책 추천 모임을 열었던 적이 있습니다. 당시 모임에 참여하지 못해 아쉬워한 분들이 계셨는데요. 그분들을 위한 2회차 모임을 열게 되었습니다. 🤗 지난 1회차 모임에서는 서로의 목표가 비슷해 책의 주제가 다채롭지 못한 점이 아쉬웠어요. 그래서 이번 2회차 모임에서는 목표 카테고리를 나누어 자연스럽게 다양한 주제가 나올 수 있도록 유도했습니다. 목표 카테고리는 다음 6가지로 정했습니다. 1️⃣ 커리어 & 경제적 자유 💼💰2️⃣ 자기계발 & 내적 성장 📚🚀3️⃣ 건강 & 웰빙 🏃‍♂️🧘‍♀️4️⃣ 인간관계 & 커뮤니티 🤝💙5️⃣ 라이프스타일 & 취미 🎨✈️6️⃣ 사회적 영향 & 가치 실현 🌍✨ 각 카테고리에 대해 2025년 자신이 원하..

Flutter에서 안드로이드 뒤로가기 버튼 핸들링 하기

Flutter로 안드로이드 앱을 개발할 때에는 '뒤로 가기 버튼'의 동작을 핸들링하는 것이 중요합니다.   안드로이드에서는 위 이미지와 같은 '뒤로 가기 버튼'을 통해 현재 화면을 종료하고 이전 화면으로 돌아가는 기능을 제공합니다. 문제는 앱을 실행 중일 때에 뒤로 가기 버튼을 누르면 앱이 그대로 종료될 수 있다는 것입니다.  만약 앱 내에서 무언가 열심히 진행하다가 손이 미끄러져서(?) 뒤로 가기 버튼을 누르게 된다면??? 그 순간 앱이 곧바로 꺼지면서 휘발성 상태 값들이 사라지게 됩니다. 그렇기 때문에 안드로이드 앱을 개발할 때에는 사용자가 실수로 앱을 종료하지 않도록 뒤로 가기 버튼을 제어할 필요가 있습니다. Flutter에서는 WillPopScope 위젯을 사용하여 이러한 동작을 제어할 수 있습니..

안드로이드 13+ 버전에서 이미지 권한 처리하기

이번 글에서는 Flutter 프로젝트에서 안드로이드 13(API 33) 이상의 이미지 권한을 어떻게 처리하는지 정리해 보겠습니다. 문제의 시작저는 현재 Facepop 이라는 사진 편집 앱을 개발하고 있습니다. Facepop - Google Play 앱재치있는 단체사진 Facepop으로 만들고 안전하게 공유하세요!play.google.com 앱을 완성하고 나서 제 안드로이드 폰으로 앱이 정상 동작하는 것을 확인하고 기쁜 마음으로 플레이스토어 출시를 했습니다. 그런데 앱을 다운받은 다른 사용자들에게서 '갤러리' 탭이 동작하지 않는다는 제보를 받았습니다. Facepop은 사진 편집 앱이기에 갤러리 탭에서 사진을 선택하는 과정이 필수적이었고 사진을 불러올 수 없는 것은 매우 치명적인 상황이었습니다. 하지만 확인..

너에게 이 책이 딱이야!

같이 서점 구경하고, 2025년 서로를 위한 책 추천 시간을 가져볼까 해요~!  1월 19일, 제가 애정하는 글쓰기 커뮤니티인 글또에서 새로운 형태의 독서모임 [너에게 이 책이 딱이야!] 을 진행했습니다. [너에게 이 책이 딱이야!] 모임에는 모두 7명이 참여하고, 서로에게 총 66권의 책을 소개했어요.  책 추천 모임을 만든 이유?저는 이전부터 단순히 책을 읽고 소개하는 것을 넘어서 새로운 경험을 해보면 어떨까라는 고민을 해왔어요. 지난 1월 1일에는 [2025년 나의 테마찾기] 라는 모임을 만들어, 함께 서점을 구경하며 2025 새해 목표를 위한 책 찾기 모임을 진행했었답니다. 그리고 이번 두 번째 모임 [너에게 이 책이 딱이야!] 에서는 자기 자신을 넘어, 다른 사람들의 목표와 고민을 들어보고 도움..

우리 톡방의 연말대상 수상자는?

2024.04.12. 제 11회 유니톤 대상 후기, 그리고 배운 것들 올해 4월, 해커톤에 나가 대상을 받았던 적이 있습니다. 그때 만들었던 서비스가 '대화 평화상'이었습니다.   '대화 평화상'은 카카오톡 대화내용을 바탕으로 톡방의 평화를 이끈 사람을 뽑아주는 서비스입니다. 우리 팀은 이 서비스를 실제 대중에게도 공개하고 싶었지만, 당시에는 LLM 요청 건당 100원이 넘는 무시무시한 비용이 들었기에 잠시 보류할 수밖에 없었습니다. 그러다 여름의 끝자락 우리 팀은 다시 모였습니다.  다시 해보자!'대화 평화상'이 그대로 사라지는게 아쉬웠던 우리는 다시 시작해 보기로 했습니다.  다행히도 그 사이에 LLM 비용은 많이 낮아져 우리가 감당할 수 있을만한 수준이 되었고, 새로운 디자이너 분도 영입하여 차근차..

Flutter로 멋진 노트 앱을 만들어보자 ⑦ - 노트 내보내기/가져오기 기능 구현하기

이번 글에서는 작성한 노트를 백업할 수 있는 노트 내보내기/가져오기 기능을 구현해 보겠습니다. 우리가 만드는 노트 앱은 데이터를 따로 데이터베이스에 저장하거나 외부에서 데이터를 수집하지 않고 있습니다. 그렇기 때문에 노트 백업 또한 사용자 기기 저장소에 파일 형태로 저장하도록 구현해 보겠습니다. 노트 내보내기/가져오기의 주요 요구사항은 다음과 같습니다. 노트 내보내기 - 사용자는 저장된 모든 노트를 파일로 내보낼 수 있습니다.노트 가져오기 - 사용자는 파일로부터 노트를 가져올 수 있습니다.  목차노트 내보내기 구현노트 가져오기 구현SnackBar 유틸 함수 분리설정 화면에 메뉴 추가 1. 노트 내보내기 구현NoteService 클래스에 노트를 CSV 파일로 내보내는 exportNotesToCsv 메서드를..

Flutter로 멋진 노트 앱을 만들어보자 ⑥ - 노트 알림 기능 완성하기

지난 글에서는 알림의 데이터 모델과 기본 로직을 구현했습니다. 노트 알림 로직 구현하기 이번 글에서는 알림 기능 구현을 최종 완성해 보겠습니다. 이전에 구현해 둔 알림 UI에 알림 로직을 적용하고, 알림 설정 업데이트, 여러개의 알림을 한 번에 켜고 끌 수 있는 다중 선택 모드, 그리고 알림 클릭 시 노트 상세 화면으로 이동하는 기능까지 구현하겠습니다. 최종 결과 이미지는 다음과 같습니다. 구현 순서는 다음 목차 순서대로 진행합니다.목차알림 로직 적용알림 설정 변경 및 업데이트다중 선택 모드 구현알림 클릭 시 노트 상세 화면으로 이동 1. 알림 로직 적용먼저, 노트 알림 화면(NoteAlarmView)에서 각 개별 알림에 대한 UI와 데이터는 알림 카드(NotificationCard) 컴포넌트로 분..

Flutter로 멋진 노트 앱을 만들어보자 ⑤ - 노트 알림 로직 구현하기

지난 글에서는 노트 알림 UI를 구현했었습니다. 이번 글에서는 이어서 노트 알림 로직을 구현해 보겠습니다. 제가 만드는 노트 알림 기능은 크게 두 가지, 예약 알림과 반복 알림을 지원합니다. 사용자는 각각의 알림을 활용하여 자신이 작성한 노트를 원하는 시간에, 정기적으로 받아 볼 수 있습니다. 구현 순서는 다음 목차 순서대로 진행합니다.목차필요한 패키지 설치Notification 모델 정의알림 저장소 구현알림 서비스 구현  1. 주요 패키지 설치알림 로직을 구현하기 위해 필요한 패키지는 다음과 같습니다. 1. flutter_local_notifications: 로컬 알림을 처리하기 위한 주요 패키지입니다.2. timezone: 알림 스케줄링을 위한 시간대 관리에 사용됩니다. 아래 명령어를 입력하여 패키지..

Flutter 앱에서 iOS 포그라운드(실행 중) 알림 동작 설정하기

이번 글에서는 Flutter 앱에서 iOS 알림 동작을 세밀하게 설정하는 방법을 다뤄보겠습니다. 특히, 앱 실행 중 알림 표시, 알림음 재생, 앱 아이콘 배지 표시와 같은 기능을 설정하고 iOS 버전에 따라 알림 스타일이 다르게 동작하도록 처리하는 방법을 알아보겠습니다. 먼저 변경 전 코드와 변경 후 코드를 보여드리겠습니다. 변경할 파일은 AppDelegate.swift 입니다.  변경 전, 기존 코드import UIKitimport Flutter@UIApplicationMain@objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, didFinishLaunching..

Flutter로 멋진 노트 앱을 만들어보자 ④ - 노트 알림 UI 추가하기

지난 글 마지막 말에 앱 출시를 다룬다고 했었습니다. 현재는 앱 출시를 위해 검수 및 비공개 테스트 중입니다. 비공개 테스트의 경우 2주 동안 진행되기 때문에 해당 기간 동안 노트 알림 기능을 추가로 구현해 보겠습니다. 노트 알림 기능은 작성한 노트를 다시 리마인드 하는 기능입니다. 제가 만들고 있는 노트 앱은 단순히 기록하는 것뿐만 아니라 자신의 노트를 다시 발견하고, 과거 아이디어를 재활용할 수 있도록 돕는 것이 목표입니다. (그래야 멋진 노트 앱이죠~😉) 알림 기능은 크게 두 가지 기능을 기획했습니다. 하나는 예약 알림으로 특정 날짜와 시간에 특정 노트를 사용자에게 띄워주는 것입니다. 다른 하나는 반복 알림입니다. 특정 노트를 일정한 간격으로 반복적인 알림을 주는 기능입니다.  예약 알림은 특정 ..