본문 바로가기

프로그래밍/Flutter <Dart>21

[flutter] BuildContext 그리고 ScaffoldState.of() 에 대한 이해 BuildContext 위젯 트리 내 위젯의 위치 정보를 가지는 클래스입니다. StatelessWidget.build 또는 State 객체(주로 StatefulWidget과 같이 활용되는)에서 사용가능한 메소드들을 제공합니다. StatelessWidget.build 아래 코드와 같이 StatelessWidget.build 메소드를 사용였습니다. build 메소드 하위 블록 {} 에서 context 를 이용한 작업 수행이 가능합니다. import 'package:flutter/material.dart'; void main() => runApp(const ExampleApp()); class ExampleApp extends StatelessWidget { const ExampleApp({super.key}.. 2024. 1. 6.
[flutter] android minSdkVersion 변경하기 (flutter sdk 3.13) 또 달라졌습니다... 버전 변경 프로젝트에 사용하는 flutter sdk 디렉토리/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy 에 있습니다. /** * For apps only. Provides the flutter extension used in app/build.gradle. * * The versions specified here should match the values in * packages/flutter_tools/lib/src/android/gradle_utils.dart, so when bumping, * make sure to update the versions specified there. * * Learn more ab.. 2024. 1. 3.
[Flutter] URI.https type 'int' is not a subtype of type 'Iterable<dynamic>' 에러 해결 문제 상황 URI.https 인스턴스의 속성을 정의할 때, 파라미터 value 값에 int 자료형이 들어가는 경우 발생할 수 있습니다. ▶ #0 예제 코드 int number = 3; final Uri uri = Uri.https(APU_AUTHORITY, API_PATH, { "number": number, "count": 1, }); 해결 방안 파라미터 내 모든 value 를 String 자료형으로 만들어 줍니다. ▶ #1 수정된 예제 코드 int number = 3; final Uri uri = Uri.https(APU_AUTHORITY, API_PATH, { "number": number.toString(), "count": "1", }); 원인 Uri.https의 원형은 아래와 같습니다. 팩토리.. 2023. 12. 17.
[Flutter] bottomNavigationBar svg 커스텀 아이콘 selectedIconTheme 적용하기 개요 bottomNavigationBar 객체 속성 중 selectedIconTheme를 선언하여 선택된 아이콘에 대한 색상 등을 설정할 수 있습니다. 그러나 이는 플러터 Icon 객체에 한해서 적용됩니다. 만약 svg 파일을 아이콘으로 사용하고 있는 경우 적용되지 않습니다. svg 파일을 사용하여 커스텀 아이콘이 selectedIconTheme 설정에 적용되기 위한 방법을 안내합니다. svg 파일 변경 아래 사이트에서 svg파일을 업로드하여 아이콘 형식에 적합한 형태로 만들어 줍니다. FlutterIcon - Flutter custom icons generator This site will not work if cookies are completely disabled. {"assets_hash":"e6.. 2023. 12. 16.
[Dart] Effective Dart 스타일 가이드 요약 개요 공식 문서에서 각 변수, 파일에 대한 명명 가이드 제공. 크게 3가지 스타일로 나뉩니다. UpperCamelCase : 각 단어 첫 문자 대문자 lowerCamelCase : 첫 단어 모두 소문자, 나머지 단어 첫 문자 대문자 lowercase_with_underscores : 모두 소문자, _ 사용 UpperCamelCase 클래스 class SliderMenu; 익스텐션 extension ExamlpeExtension 사용자 정의 타입 typedef CustomTypeA lowerCamelCase 기타 변수명 및 constant 변수 userName lowercase_with_underscores 디렉토리 명 screen_user 파일 명 (dart 파일 뿐만 아니라, 이미지 등 정적 리소스 파.. 2023. 10. 12.
[Flutter] Provider 아키텍처 라이브러리에 대한 이해 개요 Provider는 플러터 전역 상태 관리를 위한 아키텍처 라이브러리 중 하나입니다. 플러터 생태계에서 아키텍처를 라이브러리 형태로 만들어 사용하는 게 일반적 Provider는 인기있는 아키텍처 라이브러리 중 하나로, ChangeNotifier ChangeNotifierProvider Consumer 세 가지 개념을 사용 ChangeNotifier 상태 변화에 대한 알림을 제공하는 클래스 특정 클래스가 ChangeNotifier 클래스이면 NotifyListener를 통해 외부에서 특정 클래스의 상태 변화에 대해 인지 이를 활용해서 유닛 테스팅 또한 쉽게 가능 class CartModel extends ChangeNotifier { List _items = []; void add(Item item) .. 2023. 10. 11.