이미지 첨부 기능 — 사진과 함께 기억하기
·
Flutter/Flutter 메모 앱 만들기
메모는 텍스트로만 존재할 필요는 없다.때로는 사진 한 장이 글보다 더 많은 이야기를 담는다.이번 글에서는 Flutter 메모 앱에 사진 첨부 기능을 구현하여 텍스트 + 이미지 기반의 풍부한 메모를 만들어보자.📷 필요한 패키지 설치// pubspec.yamldependencies: image_picker: ^1.0.7 path_provider: ^2.1.2image_picker는 사진을 갤러리/카메라에서 선택하거나 찍는 데 사용된다.🖼️ 이미지 선택 함수 만들기Future pickImage() async { final picker = ImagePicker(); final image = await picker.pickImage(source: ImageSource.gallery); if (imag..
음성 메모 녹음 기능 추가하기
·
Flutter/Flutter 메모 앱 만들기
어떤 날은 글로 쓰기보다 말로 남기고 싶을 때가 있다.Flutter 메모 앱에 음성 녹음 기능을 더하면, 손으로 쓰기 어려운 순간에도 간편하게 기억을 기록할 수 있다.이번 글에서는 Flutter에서 녹음 및 재생 기능을 구현하는 방법을 정리해본다.🎙️ 필요한 패키지 설치// pubspec.yamldependencies: flutter_sound: ^9.2.13 permission_handler: ^11.3.1 path_provider: ^2.1.2flutter_sound는 녹음/재생 통합 지원,permission_handler는 마이크 권한 요청,path_provider는 저장 경로 탐색용이다.🎛️ 권한 요청 및 기본 셋업await Permission.microphone.request();fin..
다크 모드와 배경 커스터마이징 — 메모에 감성 더하기
·
Flutter/Flutter 메모 앱 만들기
단순히 메모만 저장하는 앱은 많다.하지만 사용자의 기분, 분위기, 취향까지 담아내는 앱은 드물다.이번 글에서는 Flutter 메모 앱에 다크 모드와 배경 커스터마이징 기능을 넣어 더 감성적이고 더 나만의 메모 앱을 만들어보자.🌙 다크 모드 적용하기✅ 기본 설정MaterialApp( theme: lightTheme, darkTheme: darkTheme, themeMode: ThemeMode.system, // 또는 .dark, .light)ThemeMode.system을 사용하면 OS 설정에 따라 자동 전환되지만, 사용자 선택을 직접 받으려면 Provider나 ValueNotifier로 전환이 가능하다.✅ 테마 구성 예시final lightTheme = ThemeData( brightness: ..
메모 태그 분류 — 주제별로 필터링하는 법
·
Flutter/Flutter 메모 앱 만들기
메모가 많아질수록 필요한 메모를 찾는 건 점점 어려워진다.이럴 때 태그 분류는 사용자가 메모를 주제별로 정리하고, 쉽게 찾아볼 수 있도록 돕는다.이번 글에서는 Flutter 메모 앱에 태그 입력, 저장, 필터링 기능을 도입해보자.🏷️ 메모에 태그 필드 추가하기모델에 tags라는 문자열 필드를 추가하자. 간단하게 콤마(,)로 구분된 태그로 구성한다.class Memo { final int? id; final String content; final String tags; Memo({this.id, required this.content, this.tags = ""}); Map toMap() { return { 'id': id, 'content': content, '..
메모 고정 핀 기능 — 자주 쓰는 메모는 상단 고정
·
Flutter/Flutter 메모 앱 만들기
메모가 많아질수록 중요한 메모가 아래로 밀려나는 문제가 생긴다.이를 해결하는 가장 간단하고 효과적인 방법은 바로 “핀 고정 기능”이다.이번 글에서는 Flutter로 메모를 상단에 고정시키는 ‘핀’ 기능을 구현하고,고정된 메모는 위에, 일반 메모는 아래로 정렬해서 보여주는 구조를 만들자.📌 메모 모델에 isPinned 필드 추가class Memo { final int? id; final String content; final bool isPinned; Memo({this.id, required this.content, this.isPinned = false}); Map toMap() { return { 'id': id, 'content': content, 'isP..
로컬 DB로 저장하기 — sqflite를 활용한 오프라인 저장소
·
Flutter/Flutter 메모 앱 만들기
지금까지 만든 메모 앱은 앱을 종료하면 모든 데이터가 사라진다.진짜 앱답게 만들려면, 로컬 저장소가 필요하다.이번 글에서는 Flutter에서 sqflite를 이용해 메모를 DB에 저장하고,앱을 껐다 켜도 메모가 유지되도록 구현해보자.💾 sqflite란?sqflite는 Flutter에서 가장 널리 사용되는 SQLite 기반의 DB 플러그인이다.파일 기반으로 앱 내부에 데이터를 안전하게 저장할 수 있다.📦 패키지 설치// pubspec.yamldependencies: sqflite: ^2.3.2 path: ^1.9.0sqflite는 DB, path는 로컬 경로를 잡아주는 역할이다.🧱 메모 테이블 구조 정의class Memo { final int? id; final String content; ..