메모 CRUD 기능 구현 — 추가, 수정, 삭제 기본기 익히기
·
Flutter/Flutter 메모 앱 만들기
메모 앱의 핵심은 결국 쓰기, 고치기, 지우기다.아무리 디자인이 예뻐도 CRUD(생성, 읽기, 수정, 삭제)가 제대로 안 되면, 진짜 메모 앱이라고 할 수 없다.이번 글에서는 Flutter로 메모를 추가하고, 수정하고, 삭제하는 기능을 순차적으로 구현해본다.📥 메모 추가하기먼저 “+” 버튼을 눌렀을 때 메모를 새로 작성할 수 있도록 TextEditingController와 Navigator를 사용하자.🧾 메모 작성 화면class NewMemoScreen extends StatelessWidget { final TextEditingController _controller = TextEditingController(); @override Widget build(BuildContext context)..
심플한 메모 UI 구성 — 감성적인 디자인으로 시작하기
·
Flutter/Flutter 메모 앱 만들기
메모 앱은 가장 단순하지만, 그래서 더 섬세해야 하는 앱이다.복잡한 기능보다 중요한 건 직관적인 UI와 감성적인 화면 구성이다.이번 글에서는 Flutter로 심플하면서도 감성적인 메모 UI를 어떻게 구성할 수 있을지 실제 코드와 함께 알아본다.🧱 기본 구조는 이렇게메모 앱의 가장 기본은 “메모 리스트 + 새 메모 작성”이다.우선 Scaffold 기반으로 심플한 카드형 메모 리스트 UI를 구성해보자.class MemoHomeScreen extends StatelessWidget { final List memoList = [ "오늘의 다짐: Flutter 열심히 하기!", "할 일: 블로그 쓰기, 운동하기, 커피 사기" ]; @override Widget build(BuildContext..
Firebase로 푸시 알림 추가 — 속보 알림으로 더 빠른 뉴스 경험
·
Flutter/Flutter 뉴스 앱 만들기
속보는 뉴스 앱의 존재 이유 중 하나다.중요한 뉴스가 떴을 때, 사용자가 앱을 켜지 않아도 알려주는 기능 — 푸시 알림은 뉴스 앱에 있어 핵심 기능이다.이번 글에서는 Firebase Cloud Messaging (FCM)을 활용해 Flutter 앱에 푸시 알림을 추가하고,뉴스 속보 알림을 수신하는 구조를 정리해본다.📦 필요한 패키지 설치// pubspec.yamldependencies: firebase_core: ^2.24.2 firebase_messaging: ^14.7.4iOS의 경우 GoogleService-Info.plist 추가,Android는 google-services.json 추가가 필요하다.🚀 FCM 초기화 및 권한 요청void setupFirebaseMessaging() asyn..
오프라인 모드 구현 — 캐시 저장을 활용한 네트워크 없는 상황 대응
·
Flutter/Flutter 뉴스 앱 만들기
뉴스 앱은 기본적으로 온라인 기반이다.하지만 출근길 지하철이나 해외 여행 중, 네트워크가 없는 순간에도 읽던 기사를 다시 보고 싶을 때가 있다.이 글에서는 Flutter에서 오프라인 모드를 구현하는 방법,즉 네트워크가 없을 때 캐시된 뉴스 데이터를 불러오는 전략을 정리해본다.📦 기본 아이디어핵심 흐름은 단순하다.뉴스를 받아올 때 JSON으로 SharedPreferences에 저장앱 시작 시 네트워크 연결 여부 확인오프라인이면 로컬에 저장된 JSON을 불러오기이 구조는 작지만 강력한 사용자 경험을 만든다.📡 네트워크 상태 확인// pubspec.yamldependencies: connectivity_plus: ^5.0.2Future hasNetwork() async { final result = a..
다크 모드 대응하기 — 눈에 편안한 뉴스 보기
·
Flutter/Flutter 뉴스 앱 만들기
밤이 되면 자동으로 앱이 어두워지고, 눈의 피로를 덜어주는 다크 모드는 이제 필수 기능이다.Flutter에서는 이 다크 모드를 비교적 쉽게 적용할 수 있다. 단, 제대로 설계하지 않으면 디자인이 망가질 수도 있다.이번 글에서는 ThemeMode 설정부터 커스텀 다크 테마 구성까지 뉴스 앱에 다크 모드를 적용하는 전체 흐름을 정리한다.🌓 ThemeMode란?Flutter의 MaterialApp에는 theme, darkTheme, themeMode라는 세 가지 설정이 있다.MaterialApp( theme: lightTheme, darkTheme: darkTheme, themeMode: ThemeMode.system, // 또는 .dark / .light)ThemeMode.system: 디바이스 설정..
좋아요 및 북마크 기능 추가 — 내가 좋아한 뉴스 저장하기
·
Flutter/Flutter 뉴스 앱 만들기
사용자가 뉴스를 보다가 ‘좋아요’를 누르거나, ‘북마크’로 저장하는 기능은 단순해 보이지만 사용자 경험을 극대화시켜준다.뉴스앱을 앱답게 만드는 요소 중 하나가 바로 이 내가 저장한 뉴스 목록이기 때문이다.이번 글에서는 Flutter로 좋아요/북마크 기능을 추가하고, 이를 저장하고 불러오는 흐름을 다뤄보자.❤️ 좋아요 기능: UI + 상태만 관리좋아요는 서버 연동 없이 UI와 앱 내 상태만 관리해도 충분히 사용자 경험을 향상시킬 수 있다.✅ 상태 정의class News { final String id; final String title; bool isLiked; // ← UI에서만 변경 News({required this.id, required this.title, this.isLiked = fal..