이번 포스트에서는 Mixin으로 StatefulWidget의 초기화 중복 코드를 제거하는 방법을 정리하겠습니다. StatefulWidget의 Controller 중복 코드 발생 StatefulWidget에서 스크롤 또는 애니메이션 작업 등의 애플리케이션의 UI 상태와 연결하고 관리해야 하는 작업을 수행해야 할 때 Controller를 이용합니다. Controller의 종류로는 ScrollController, AnimationController, TextEditingController 등이 존재합니다. 예를 들면, ScrollController는 스크롤 상태를 추적하고 제어하는 데 사용됩니다. 이를 통해 스크롤 위치를 제어하고 스크롤 이벤트를 받을 수 있으므로 무한 스크롤, 페이징 또는 스크롤 위치에 따른..
안녕하세요. 이번에는 Flutter Plugin을 만들어서 Android Native 코드를 호출하는 법을 알아보겠습니다. Flutter Plugin이란? Flutter Plugin은 Android(Kotlin 또는 Java) 및 iOS(swift 또는 objective c)와 같은 네이티브 코드의 Wrapper입니다. 그러므로 Flutter는 Flutter Plugin을 통해서 platform channels와 메시지 전달을 통해 네이티브 애플리케이션에서 할 수 있는 모든 것을 할 수 있습니다. 동작은 Flutter에서 기본 iOS/Android 코드에 작업을 수행하고 결과를 Dart코드에 Return 하도록 지시합니다. Flutter Platform Architectural overview: plat..
Navigator Push 1. Navigator.push()로 화면 전환 전달할 데이터가 없는 경우에는 Navigator.push() 메소드를 통해 화면전환을 할 수 있습니다. Navigator.push()에 전환할 페이지를 MaterialPageRoute()에 넣어주면 됩니다. Navigator.push(context, MaterialPageRoute(builder: (context) => FirstScreen())); main.dart import 'package:flutter/material.dart'; import 'package:flutter_widgets/screen/button_above_keyboard.dart'; import 'package:flutter_widgets/screen/fi..
1. Flutter SDK 설치 (1) Stable Channel의 최신버전을 설치합니다. 2021년 5월 11일 기준 SDK 버전이 2.0.6이므로 해당 버전을 다운로드 하겠습니다. (2) 다운 받은 후 SDK 압축을 원하는 디렉토리에 풀어줍니다. 압축을 풀게되면 flutter 디렉터리가 생긴 것을 확인하실 수 있습니다. (3) 환경변수에 flutter의 SDK의 PATH를 등록해 줍니다. 1. 일시적인 환경변수 편집 $ export PATH="$PATH:~/Users/seunghwan/development/flutter/bin" 위와 같이 치면 환경변수에 PATH변수가 등록되지만 터미널이 재부팅되면 초기화됩니다. 2. 영구적인 환경변수 편집 저는 bash 쉘을 이용하기 때문에 vim으로 .bash_p..