728x90 반응형 분류 전체보기292 [flutter] 블로그 만들기01 - 프로젝트 기본설정 의존성cupertino_icons: ^1.0.8flutter_svg: ^2.0.6intl: ^0.18.1dio: ^5.2.0 # 서버와 통신하기 위해 필요한 라이브러리 입니다.flutter_riverpod: ^2.3.6 # 상태관리 Riverpod 라이브러리 입니다.logger: ^1.3.0 # 콘솔창에서 결과물을 쉽게 확인할 수 있도록 하는 Log 라이브러리입니다.flutter_secure_storage: ^8.0.0 # 어플리케이션 Secure Storage를 쉽게 사용할 수 있도록 도와주는 라이브러리입니다.pull_to_refresh: ^2.0.0linter#linter란? # 코드 스타일과 품질을 검사하여 코드에 있는 잠재적 오류 # 스타일 위반, 비효율적 패턴 등을 알려주는 도구입니다. l.. 2025. 1. 31. [flutter 프로젝트]개발일지 03 오늘의 목표flutter 백과 연결하여 로그인 시도, 회원가입 user insert수행한 작업login dio 객체로 백과 통신하여 로그인하기회원가입화면에서 객체 만들어서 insert하기문제 및 해결 방법문제:api baseUrl이 제대로 인식되지 않아서 문제가되었다 .해결 방법:어떤 애뮬레이터를 사용하느냐에 따라서 다른 네트워크 주소가 필요하므로, 어떤 기기에 맞는 baseuril 을 맞추어 사용해야한다.성과 및 배운 점로그인이나 회원가입에 필요한 textEditingcontroller를 class에 담아서 사용하면 여러곳에서 불러서 사용할 수 있어서 상태관리하기 편하였다.하지만 로그인 페이지는 한 페이지에서 연결되어있으므로 최상위에서 컨트롤러를 하위로 전달해줘야 하지만, 회원가입 페이지는 여러 페이지.. 2025. 1. 28. [flutter] 상태관리되는 ToDo List 만들어보기 Flutter 프로젝트: Riverpod과 ToDo 관리이 문서는 Riverpod과 Flutter를 활용한 상태관리 및 ToDo 리스트 구현에 대해 정리한 내용입니다. Tistory에 게시할 수 있도록 깔끔하게 정리하였습니다.1. Riverpod을 활용한 책 관리 시스템1-1. 책 관리 창고 생성NotifierProvider를 사용하여 책 리스트를 관리하는 상태 관리 시스템을 구현합니다.import 'package:flutter_riverpod/flutter_riverpod.dart';// 초기 데이터 선언String myBook = '홍길동전';List books = [];// Notifier 클래스 정의class MyBookStore extends Notifier> { @override List .. 2025. 1. 22. [flutter 프로젝트] 개발일지 02 오늘의 목표MySetting부분 화면 구현수행한 작업Setting 부분mvvm 구조로 변경하기문제 및 해결 방법문제:Switch를 모양이 변경이 안됨?해결 방법:모양이 Cupertino의 Switch가 있고, Material의 Switch가 두종류 존재한다.조금더 다양한 커스텀을 하고싶다면 MateralSwitch를 사용하지만, 아이폰의 스위치 모양을 하고싶다면 Cupertino를 사용함성과 및 배운 점상태관리와 mvvm 모델을 구성하여 사용해봤다.일단 간단한걸로 userSetting에 관한것을 객체를 생성하고, 해당 부분의 view_model를 만들어 상태관리를 조정해보았다. Notification_toggleimport 'package:applus_market/theme.dart';import 'p.. 2025. 1. 22. [flutter 프로젝트] 개발일지 01 - 화면구현(나의설정) 오늘의 목표레퍼런스를 통하여 필요한 부분 화면구현하기MyPage, 로그인 화면구현 하기수행한 작업기본적인 공통된 상수들을 따로 정의하기공통된 테마적용폴더 구조 생성하기문제 및 해결 방법문제:keyboard의 위치를 잡지 못해 왔다갔다 거림해결 방법:2025.01.19 - [Flutter] - [flutter] Error 키보드 origin_client_hide_soft_input reason hide_soft_input_by_insets_api[[flutter] Error 키보드 origin_client_hide_soft_input reason hide_soft_input_by_insets_api문제 상황텍스트필드를 눌렀을때 , 키보드가 왔다갔다 거리면서 제대로 위치를 잡지 못하는 오류가 지속적으로 생겼.. 2025. 1. 21. [Flutter] 상태관리가 되는 앱 만들어 보기 03 (RiverPod) Flutter 상태 관리: RiverPod 소개와 활용법Flutter에서 상태 관리를 위해 다양한 도구를 사용할 수 있지만, RiverPod는 코드의 간결성과 테스트 용이성을 높여주는 강력한 상태 관리 도구입니다. 이번 글에서는 RiverPod의 기본 사용 방법과 몇 가지 예제를 통해 이를 활용하는 방법을 알아보겠습니다.1. RiverPod란?RiverPod는 Flutter의 상태 관리 패키지로, Provider의 한계를 극복하기 위해 만들어졌습니다. 주요 특징은 다음과 같습니다:명확한 상태 관리: 상태를 명확하게 정의하고 관리할 수 있습니다.컴파일 타임 검증: 잘못된 사용을 컴파일 시점에 감지합니다.독립적 동작: Flutter 위젯 트리에 의존하지 않고 상태를 관리합니다.2. RiverPod 기본 사용.. 2025. 1. 21. [flutter] 상태관리가 되는 앱 만들어 보기 02 (inheritedWidget) 3단계 작업 (InheritedWidget 사용 해보기)앞의 단계를 보고싶다면 아래의 링크로 props Drilling을 해결하기 위한 방안Inherited_Parent// InheritedWidget 내장 데이터 타입을 상속받아 구현한다.import 'package:flutter/cupertino.dart';import '../common.utils/logger.dart';class InheritedParent extends InheritedWidget { // 공유 상태 데이터 관리에 목적 // List mySelectedBooks = []; List state; // 카드에 담긴 책 목록(공유 상태) // 부모에게 콜백 메서드를 관리하는 목적 void Function(String book).. 2025. 1. 20. [flutter] 상태관리가 되는 앱 만들어 보기 01 우리가 배울 여러 상태 관리 방법을 이용해 데이터 일관성을 유지해 봅시다.StatefulWidgetInheritedWidgetProvider(라이브러리)Riverpod(라이브러리)1단계 statelessWidget statefulWidget 위젯 만들어보기StatelessWidgetimport 'package:flutter/material.dart';void main() => runApp(MaterialApp( debugShowCheckedModeBanner: false, home: MyStatelessWidget(), ));//statelessWidget은//상태의 변화없이 항상 동일한 UI를 그린다.//이런 위젯은 데이터나 변수의 값이 변하지 않을때 사용합니다.//포인트!! =.. 2025. 1. 20. [flutter] 로컬 상태와 공유 상태 상태(State)의 종류상태는 공유 여부에 따라 로컬 상태(Local State)와 공유 상태(Shared State)로 나눌 수 있습니다.https://docs.flutter.dev/data-and-backend/state-mgmt/ephemeral-vs-app[Differentiate between ephemeral state and app stateHow to tell the difference between ephemeral and app state.docs.flutter.dev](https://docs.flutter.dev/data-and-backend/state-mgmt/ephemeral-vs-app)로컬 상태(Local State) : 공유되지 않는 상태BottomNavigationBar의 .. 2025. 1. 20. [flutter] StatelessWidget 과 StatefulWidget 상태란 뭘까?Stateless Widget과 고정상태import 'package:flutter/material.dart';void main() { runApp(MaterialApp(home: MyStatelessWidget()));}// Stateless// 상태의 변화 없이 항상 동일한 UI를 그립니다.// 이런 위젯은 데이터나 변수의 값이 변하지 않을 때 사용합니다.class MyStatelessWidget extends StatelessWidget { // 변수에 final 키워드 즉 상수이다. final msg = '안녕하세요! 저는 Stateless 위젯입니다.'; @override Widget build(BuildContext context) { return Scaffold( .. 2025. 1. 20. 이전 1 2 3 4 ··· 30 다음 728x90 반응형