flutter(22)
-
[Flutter] FutureBuilder를 사용해서 비동기 처리에 따라 표시되는 위젯을 구성하자.
Async/await 키워드를 사용하여 비동기를 처리하는 건, 직관적으로 코드를 작성하는 데 몹시 중요하다. 그렇다면 Widget을 생성할 때, 초기 상태로 불러올 데이터가 비동기적인 처리를 거쳐야 할 때는 어떻게 해야할까? 여기서 FutureBuilder가 등장한다. 간단하게 설명해서 FutureBuilder는 비동기적인 처리를 진행하고, 결과에 따라 표시할 Widget을 반환해준다. FutureBuilder에 대한 자세한 명세는 공식 문서를 참조하도록 하자. class Sample extends StatelessWidget { @override Widget build(BuildContext context) { return FutureBuilder( future: SharedPreference.getI..
2021.02.24 -
[Flutter] Dart:io 패키지를 사용한 Http 통신 구현 및 주의점
이 글은 dart:io library를 참조하여 작성되었습니다. 만약 문제가 발생하는 경우, 다트의 버전을 확인해주세요. dart:io 패키지를 사용하면 Http 통신을 구현할 수 있습니다. 아마 좀 더 쉽게 HTTP 통신을 할 수 있는 패키지를 사용할수도 있겠지만... 요번에는 dart:io패키지를 사용하여 HTTP 통신을 구현하는 방법과 주의해야할 사항을 정리합니다. Dart:io library를 사용한 Http 통신 구현 dart:io library 페이지를 살펴보면 다음과 같은 내용을 발견할 수 있습니다. HttpServer and HttpClient The classes HttpServer and HttpClient provide HTTP server and HTTP client function..
2021.02.04 -
비동기(Asynchronous)와 async/await, 그리고 여러개의 await에 대한 비동기 처리(Future.wait/Promise.all)
비동기(Asynchronous)에 대해 알아봅시다. 당신은 새로 들어온 직원 A군의 사수를 담당하게 됐습니다. A군이 일을 얼마나 잘 하는지 가늠이 안되는 와중에, 꽤 복잡한 일을 맡기게됐습니다. 당신은 A군이 일을 얼마나 잘 처리했는지 확인하고싶지만, 당장 맡은 일이 바빠서 신경 쓸 겨름이 없어요. 결국 당신은 A군에게 일을 맡겨놓고, '다 끝나면 나한테 말해줘요. 그거 끝나고 뭐 해야하는지 알려줄께요.'라고 말합니다. 그리고 다시 업무로 복귀한 당신. 와! 당신은 지금, A군과 비동기적으로 일하고 있어요! 비동기적으로 일한다는 건 특정 시점으로부터 하나의 작업이 완료될 때까지는 신경쓰고 있지 않다가, 그 작업이 완료되면 처리한 결과를 가지고 계속해서 진행하겠다는 의미입니다. 뭔가 문장이..
2021.01.29 -
플러터(Flutter) 사용시 참고할만한 사이트
이 페이지는 계속해서 업데이트 될 예정입니다. (아마?) Flutter Gems 플러터에서 사용할 수 있는 패키지가 카테고리별로 분류되어있는 페이지. 정말 유용하다. 어떤 패키지인지 간단한 썸네일로도 표시되기때문에, 간단히 찾아서 사용하기 좋다.
2021.01.04 -
UDP 라이브러리를 통해 Flutter(Dart)에서 브로드캐스팅을 해보자
UDP 라이브러리를 통해 Flutter(Dart)에서 브로드캐스팅을 해보자 pub.dev에 등록된 라이브러리 중 UDP 라이브러리를 사용하면, 플러터에서도 쉽게 브로드캐스팅이 가능하다. UDP 라이브러리 페이지를 확인해보자. 인스톨 페이지에 나와있는대로 pubspec.yaml의 dependencies에 udp라이브러리를 등록하고, flutter pub get을 입력해주자. 라이브러리가 설치될 것이다. dependencies: udp: ^3.0.3예제 페이지에 나와있는대로, example/udp_example.dart를 확인해보면 쉽게 브로드캐스팅이 가능하다는 것을 알 수 있다. import 'dart:io'; import 'package:udp/udp.dart'; main()..
2020.11.30 -
Provider를 사용한 페이지간의 데이터 공유시, Error: Could not find the correct Provider<ProviderName> above this <WidgetName> Widget이 발생하는 원인과 해결법
깃허브의 샘플 코드 Provider의 특징 중 하나는 여러개의 화면에서 상태값을 공유할 수 있다는 것이다. 실제로 그런 예제를 많이 접해볼 수 있는데, 가장 흔한 예제는 다음과 같은 카운터 앱일 것이다. 첫 번째 화면에서 카운터를 조작(증감) 두 번째 화면에서 카운터를 조회 보통은 별다른 설명 없이 Navigator.push로 두 번째 화면을 띄우고, 두 번째 화면에서는 Context의 Provider를 불러와서 조작을 시도한다. 이 때 뎁스에 따라서 Error: Could not find the correct Provider above this[WidgetName]Widget와 같은 에러를 출력하게된다. 실제로 lib/problem/problem_main.dart와 lib/problem/problem_..
2020.11.01