flutter 25

[flutter 2.0] 13~14강 | 날씨앱 만들기 01

✅ 날씨앱 만들기 이번 포스팅에서는 전부 다 강의를 듣지 않고 중간에 우선 스탑하기로! ✅ my_location.dart import 'package:geolocator/geolocator.dart'; class MyLocation { double latitude2; double longitude2; Future getMyCurrentLocation() async{ try { Position position = await Geolocator.getCurrentPosition( // 위치와 경도 가져온다. desiredAccuracy: LocationAccuracy.high); latitude2 = position.latitude; longitude2 = position.longitude; print(po..

[flutter2.0] 12강 | Future-async 심화

✅ 이번 시간에는 Future-async에 대해서 알아볼 예정이야. 중간에 생략된 것은 for문과 while문이라서 뛰어넘었음. ✅ Dart에서 Thread란? 다트는 싱글 쓰레드로 이루어져 있다. Event loop가 존재해서 처리해. 안드로이드 치면 Looper와 같은 개념. ✅ Future란? 1. 다트에 의해 future 객체가 내부적인 배열에 등록 2. future관련해서 실행되어야 하는 코드들이 이벤트 큐에 등록 3. 불완전한 future객체가 반환 4. Syncronous 방식으로 실행되어야 할 코드 먼저 실행 5. 최종적으로 실제적인 data값이 future로 전달 ✅ Async method 1. 메소드를 통해 나오는 결과물은 future 2. Await 키워드를 만날 때까지 synchro..

[flutter2.0] 8강 - 2 | APICall & JsonParsing

✅이번 시간에는 Future를 사용하는 방법에 대해서 알아볼 예정이야. 후.. 진짜 근데 어렵다 어려워. 사실 Future await async가 RxSwift와 유사하면서도 뭔가 다른 느낌이라 쉽게 느낌이 오지는 않는데, 일단 쓱 훓고 넘어가도록 하자 ✅APICALL 과정 및 JsonParsing import 'package:flutter/material.dart'; import 'package:futurejson/info.dart'; import 'package:http/http.dart' as http; import 'dart:async'; import 'dart:convert'; void main() { runApp(MyApp( info: fetchInfo(), )); } class MyApp e..

[flutter2.0] 8강 - 1 | Future, async, await 이해하기

✅이번 시간에는 Future, async, await에 대해서 알아보자. 플러터를 공부하면서 느낀것이 전반적으로 RxSwift와 비슷한 느낌을 갖는다는 것이다. 그럼 한번 다시 보도록 할까? 코드 작성은 플러터 프로젝트의 - test - widget_test.dart에 작성한다. ✅가장 기준이 되는 코드 import 'dart:io'; void main() { showData(); } void showData() { startTask(); accessData(); fetchData(); } void startTask() { String info1 = '요청 수행 시작'; print(info1); } void accessData() { String info2 = '데이터에 접속중'; print(info2)..

[flutter2.0] 7강 | 로그인 페이지 코드 리팩토링(refactoring)

✅이번 시간에는 코드 리팩토링 부분에 대해서 알아볼 예정이야. 플러터를 공부하면서 iOS에서 공부한 디자인 패턴을 적용할 수 없어서 유지보수가 힘들겠다는 생각이 들었었는데, 그럼 한번 보도록 할까? 이전 포스팅을 참고하면서 보면 2배로 좋다. 2021.08.17 - [flutter/조금 매운맛 (중급)] - [flutter2.0] 3~5강 | 로그인과 주사위 앱 만들기 [flutter2.0] 3~5강 | 로그인과 주사위 앱 만들기 ✅이번 시간에는 로그인과 주사위 앱 만들기에 대해서 알아볼 예정이야. 뭔가 생각보다 새로이 보는 것들이 많았고, 디자인 패턴이나 클린 코드에 대해서 플러터는 상당히 중요할 것 같다는 생 rldd.tistory.com 이전 포스팅과 달라진 파일의 구조도 ✅login.dart im..

[flutter2.0] 3~5강 | 로그인과 주사위 앱 만들기

✅이번 시간에는 로그인과 주사위 앱 만들기에 대해서 알아볼 예정이야. 뭔가 생각보다 새로이 보는 것들이 많았고, 디자인 패턴이나 클린 코드에 대해서 플러터는 상당히 중요할 것 같다는 생각이 확 들었어. 코드를 보면서 그럼 함께 보도록 하자. 플러터 개발에 있어서, 코드를 쭉 읽어보면서 지나가자 ✅플러터 화면 중 일부 ✅main.dart // main.dart import 'package:flutter/material.dart'; import 'dice.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp(..

[flutter2.0] 1강~2강 | Stateful widget

✅ 조금 매운맛 강좌의 Stateful widget에 대해서 알아보자. 플러터를 프로젝를 처음 생성하면 만들어지는 파일을 기준으로 알아볼 예정 코드는 거의 변화가 없으나 맨 윗부분과 중간에 주석으로 된 부분을 보기 StatefulWidget에서 Stateful한 것들이 다시 작성되면 핫 리로드가 안되므로 다시 빌드해줘야한다. -> 내 머릿속에 있는데, 설명하기가 구차나서,, 그냥 에러나면 리빌드 해보란 말! ✅ 코드 리뷰 import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatefulWidget { State createState() { return MyAppState(); } } cla..

[flutter] 24강 | Collection과 Generic

✅ 변수의 선언은 Flutter 2.0의 null Safety를 보장하지 않음 1. String interpolation - 문자열을 출력할때 $를 넣어서 출력하는 방법 ✅ 코드로 보자 void main() { String name = 'Sean'; print(name); print("Hi $name, what's up?"); } Sean Hi Sean, what's up? 2. Collection & Generic - Collection : 데이터들을 모아서 가지고 있는 자료구조 (ex. List) - Generic : Collection이 가지고 있는 데이터들의 데이터 타입을 지정 ✅ 코드로 보자 void main() { List number = new List(); number.add(2); num..

[flutter] 23강 | Navigator 와 pushName 메소드 이해하기

✅ 이번 시간에는 배운게 많은 시간이었다. 특히나 오타로 슬래시랑 역슬래시 오타로 인해서 한참을 헤매었는데 찬찬히 살펴보도록 하자. 또한 파일을 드디어 나누어서 작업했는데 이 부분도 눈여겨볼 부분이다. 파일을 나누면 import를 또다시 해주어야한다. 💡 생각할 점 import가 너무 많으면 관리가 불편하니까 헤더파일 처럼 모을 수 있는 방법이 있는지 알아보기 ✅ 코드 리뷰 - main.dart // main.dart import 'package:flutter/material.dart'; // 데스크탑, 앱 등에 고루 UI를 적용할 수 있게 해주는 구글이 제공해주는 패키 import 'package:untitled/ScreenA.dart'; import 'ScreenB.dart'; import 'Scre..

[flutter] 22강 | Navigator 이해하기

✅ 이번시간에는 네비게이터를 이용해 화면 전환하기 + 컨텍스트에 대해서 알아볼 예정이야 ✅ Navigator 및 포스팅의 순서 1. Route의 개념 - 스마트폰에서 보여지는 하나의 페이지 화면 ! 2. Navigator의 정의와 push, pop 함수, stack 자료구조 - stack ( FILO ) - push 데이터를 넣기 - pop 데이터를 빼기 - Route(페이지) 는 Navigator라는 위젯이 담당하고 그 구조는 스택 구조이다. 3. MaterialPageRoute위젯과 context - 화면전환할 때, 바로 class 입력해서 이동하는 것이 아니라 화면을 지정해주면서 이동한다. 4. 페이지 이동 기능 구현 완성 ✅ 코드 리뷰 import 'package:flutter/material.d..