daino_saur
article thumbnail
[Flutter] Lambdas
프로그래밍/Flutter 2023. 10. 29. 20:05

오늘은 Flutter의 Lambdas, 람다에 대해 알아보겠다. 람다란? 익명함수의 변형된 형태 람다의 표현 (int 파라미터1, String 파라미터2) => 반환값 소괄호 안에는 함수의 파라미터 리스트가 들어가고 화살표 이후에 반환값을 나타낸다. 람다의 특징 1. 익명 : 이름을 지을 수 없다. (변수에 담을 수 있음) 람다의 이름을 지정할 수 없다. 2. 함수 : Class에 종속되지 않음 람다식은 class와 관계없이 저장이 되는 것이기에 종속되지 않고, class의 값을 변경할 수도 없다. 3. 전달 : 1급 객체로서 함수 파라미터로 전달, 변수에 저장 가능 변수로 저장이 가능하다. 4. 간결성 : 익명 클래스처럼 많은 코드를 구현할 필요가 있다. =>로 return 처리를 대체하기 때문에 코드..

article thumbnail
[Flutter] Future
프로그래밍/Flutter 2023. 10. 16. 21:51

오늘은 Flutter에 Future에 대해 알아보겠다. Future란? Future는 시간이 걸리는 작업시 완료를 기다리고, 이후에 진행되는 로직을 설정해줄 수 있다. 생성 및 수행 Future의 생성은 앞에 Future을 생성해주고 함수의 파나메터와 수행자 사이에 async를 붙이면 된다. 만약 지정해주고 싶은 타입이 있으면 안에서 타입을 지정해주면 된다. 수행 await 키워드를 통해 함수를 기다리게 할 수 있다.

article thumbnail
[Flutter] Callback Function
프로그래밍/Flutter 2023. 10. 16. 17:42

오늘은 flutter에서 어떠한 동작 이후에 다른 위젯에서 값을 처리하는 Callback 함수를 사용해 보겠다. flutter에 stateful 위젯에서는 위젯 파일이나 위젯만 벗어나도 해당 state에 접근하기 어려운데, 그것을 Callback으로 일정 부분 해결 가능하다. 사전 셋팅 먼저 Callback 함수를 사용하기 위해 다른 State에 있는 텍스트 두 개를 만들어준다. 우리는 UP을 클릭 시 다른 State에 있는 Count 값을 올려줘 보겠다. import 'package:flutter/material.dart'; class TestPage extends StatefulWidget { const TestPage({super.key}); @override State createState() =..

article thumbnail
[Flutter] go_router 패키지
프로그래밍/Flutter 2023. 10. 15. 22:41

이전 글에서 MaterialPageRoute를 이용해 화면을 이동해 보았다. MaterialPageRoute으로도 화면 이동이 구현 가능하지만, 화면이 많아질수록 코드만 보고 어떤 화면인지 한눈에 보기 어렵고, 계속해서 MaterialPageRoute를 통해 화면을 이동하여 상태관리가 복잡해진다. 오늘은 이러한 화면 간 검색 및 이동을 URL 기반으로 편리하게 만들어주는 패키지, go_router 패키지를 사용해보겠다. 패키지 다운 먼저 패키지를 다운해 준다. flutter pub add go_router go_router | Flutter Package A declarative router for Flutter based on Navigation 2 supporting deep linking, data..

article thumbnail
[Flutter] 화면 이동
프로그래밍/Flutter 2023. 10. 15. 22:00

오늘은 flutter에서 페이지에서 페이지로 화면 이동을 이동해 보겠다. 페이지 이동 페이지 이동을 나타내기 위해 처음 화면과 이동할 화면을 만들어준다. 처음 화면 class _TestScreenState extends State { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('화면 이동'), ), body: Center( child: TextButton( child: const Text('Go to Page'), onPressed: () {}, ), ), ); } } 이동할 화면 class NewPage extends StatelessWidget { const NewPag..

article thumbnail
[Flutter] Bottom Navigation Bar
프로그래밍/Flutter 2023. 10. 15. 21:04

오늘은 앱 안에서 화면이동 시 가장 많이 사용되는 bottom navigation bar를 만들어 보겠다. 시작하기 앞서 이 글에서 bottom navigation bar는 편하게 "bnb" 라고 하겠다. scffold에 있는 bnb 위젯을 통해 bnb를 생성할 수 있다. 또한 bnb 위젯은 BottomNavigationBarItem을 List로 받는다. items에 BottomNavigationBarItem을 아이콘과 함께 추가해줍니다. 이제 item을 클릭시 화면이 변하게 구현해 보겠습니다. 페이지에 순서를 나타내는 index를 만들고 initstate에서 0으로 지정해 줍니다. BottomNavigationBar에서 currentIndex를 index로 지정해주고 클릭이 될 때마다 클릭이된 새로운 ..