Flutter(121)
-
[031] 플러터 (Flutter) 배우기 - 상태 관리1 (BloC 패턴 적용)
안녕하세요~ totally 개발자입니다. BLoC 패턴 오늘은 State Management(상태 관리) 방법 중 하나인 BLoC 패턴에 대해 살펴보도록 하겠습니다. BLoC 패턴은 추후 살펴볼 Provider 패턴보다는 다소 복잡할 수 있지만 유지 보수에 있어서는 매우 유용한 방법 중 하나입니다. BLoC 개념을 보자면 UI Screen(View), BLOC(Presenter, ViewModel), Data Layer 부분인 Repository(Data Handler), Provider(Data Provider)가 존재합니다. Provider (Data Provider) 데이터 제공 및 수집, 데이터 처리 Repository (Data Handler) Data Provider에서 제공 받은 데이터를 필..
2023.02.03 -
[030] 플러터 (Flutter) 배우기 - 아이폰 Face ID(페이스아이디,얼굴인식 구현하기)
안녕하세요~ totally 개발자입니다. local_auth 오늘 구현해볼 것은 플러터 패키지 local_auth를 사용하여 아이폰에서의 Face ID를 구현해보려고 합니다. 아이패드 Face ID도 물론 가능합니다. 이 local_auth를 통해 지문 인식(touch ID)도 가능하며 ios뿐만 아니라 안드로이드도 지원합니다. 여기에서는 Face ID를 예제로 결과까지 보여드리도록 하겠습니다. 아래 패키지를 사용할 것이며 더 자세한 예시는 아래를 참고하시기 바랍니다. https://pub.dev/packages/local_auth local_auth | Flutter Package Flutter plugin for Android and iOS devices to allow local authentica..
2023.02.02 -
[029] 플러터 (Flutter) 배우기 - RefreshIndicator (아래로 스와이프하여 새로고침) + FutureBuilder, Dio
안녕하세요~ totally 개발자입니다. RefreshIndicator 오늘은 아래로 스와이프하여 새로고침을 구현하여 데이터를 갱신하는 방법에 대해 알아보도록 하겠습니다. RefreshIndicator를 위해서 FutureBuilder, ListView.builder, SingleChildScrollView를 같이 활용해보도록 하겠습니다. Step 1: 실제 json data를 https://dummyjson.com/products 여기 예제 사이트에서 데이터를 가져와서 화면에 출력해보겠습니다. 데이터 fetch를 위해 dio 패키지를 pubspec.yaml에 추가해줍니다. Step 2: dio 임포트 해주고, 11번째 줄처럼 dio 인스턴스를 만들어줍니다. 또한 product를 가져와서 저장할 리스트도..
2023.01.31 -
[028] 플러터 (Flutter) 배우기 - 애니메이션 만들기2: 카드 뒤집기 (TweenAnimationBuilder, Transform 사용)
안녕하세요~ totally 개발자입니다. TweenAnimationBuilder, Transform 오늘은 카드를 뒤집어보는 애니메이션에 대해 살펴보겠습니다. TweenAnimation에서는 tween instance를 사용하게 되는데 begin value와 end value를 지정해서 target인 end value로 애니메이션하는 원리입니다. Transform은 어떻게 transform(변형)시킬지를 정의합니다. 바로 예제 실습으로 들어가보도록 하겠습니다. Step 1: 카드의 앞, 뒤로 사용할 동일한 크기의 이미지 2개를 준비해서 원하시는 폴더에 넣어주시고 pubspec.yaml에 경로를 명시해줍니다. Step 2: dart:math를 임포트해줍니다. Step 3: 필요한 변수인 _isBack과 _..
2023.01.30 -
[027] 플러터 (Flutter) 배우기 - 애니메이션 만들기1 (AnimatedContainer 사용)
안녕하세요~ totally 개발자입니다. AnimatedContainer 오늘 다뤄볼 부분은 AnimatedContainer을 사용해서 컨테이너의 크기 또는 색상이 변할 때 애니메이션을 입히는 방법입니다. 바로 예제를 살펴보도록 하겠습니다. Step 1: 초기 width(가로길이)와 height(세로길이), color(색상)을 변수로 만들어주겠습니다. Step 2: AnimatedContainer 위젯으로 애니메이션을 입힐 Container 위젯을 만들어주고 변화를 줄 속성에 조금 전에 선언했던 변수들을 전달해줍니다. duration에는 몇 초로 설정할 것인지, curve에는 어떤 방식의 애니메이션 효과를 적용할 것인지 선택해서 입력하면 됩니다. Step 3: 애니메이션을 할 수 있도록 요소들을 변경할 ..
2023.01.29 -
[026] 플러터 (Flutter) 배우기 - bottomNavigationBar (화면 하단 네비게이션바 배치)
안녕하세요~ totally 개발자입니다. 오늘 다룰 부분은 Scaffold 위젯에 있는 bottomNavigationBar 속성을 이용하여 화면 하단 네비게이션 바를 배치해보는 것에 대해 살펴보도록 하겠습니다. 보통 인스타그램, 카카오톡 등 요즘 어플들을 보면 화면 하단에 네비게이션바가 위치하고 있는 것을 알 수 있습니다. 대부분의 이유로는 화면 하단에 있기 때문에 한 손가락으로 쉽게 누르면서 조작할 수 있다는 장점이 있습니다. 예제로 바로 들어가보도록 하겠습니다. Step1: 9번째 줄에 with SingleTickerProviderStateMixin을 추가하고 10, 11번째 줄에 TabController와 tab을 선택했을 때 선택한 인덱스 값을 담을 수 있는 integer 변수를 하나 선언해줍니다..
2023.01.27