본문 바로가기

ETC/Flutter44

[flutter] Json이란 무엇인가? JSON(JavaScript Object Notation) 이란? JavaScript Object Notation 이라는 의미의 축약어로 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식 JavaScript에서 객체를 만들 때 사용하는 표현식을 의미한다. JSON은 데이터 포맷일 뿐이며, 어떠한 통신 방법도, 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 표현 방법일 뿐이다. JSON 특징 서버와 클라이언트 간의 교류애서 일반적으로 많이 사용된다. JSON 문서 형식은 자바스크립트 객체의 형식을 기반으로 만들어져 자바스크립트 객체 표기법과 아주 유사하다. 자바스크립트 문법과 굉장히 유사하지만 텍스트 형식일 뿐이다. 특정 언어에 종속되지 않으며, Flutter를 포함한 대부분의 프로.. 2021. 10. 17.
[flutter] Future 와 async를 사용해보자. Future 다트에 의해서 future 객체가 내부적인 배열에 등록. Future 관련해서 실행되어야 하는 코드들이 이벤트 큐에 등록. 불완전한 future 객체가 반환. Synchronous(동기,순차적) 방식으로 실행되어야 할 코드 먼저 실행. 최종적으로 실제적인 data 값이 future 객체로 전달. void main() { print('Before the Future'); Future(() { print('Running the Future'); }).then((_) { print('Future is complete'); }); print('After the Future'); } 위 소스의 출력결과는 아래와 같다. Before the Future After the Future Running the.. 2021. 10. 17.
[flutter] Future란 무엇인가? Future란 무엇인가 Dart에서 Future는 자바스크립트의 Promise에 대응되며, Future와 Promise는 모두 싱글스레드 환경에서 비동기 처리를 위해 존재한다. JS의 Promise는 특정 동작의 수행이 완료되면, 다음 동작을 수행하겠다는 약속 Dart의 Future는 지금은 없지만 미래에 요청한 데이터 혹은 에러가 담길 그릇 Future 라는 상자가 있는데, 이 상자는 지금은 닫혀있다. 하지만 이 상자를 준 함수가 말한다. "지금은 그 상자가 닫혀있지만, 나중에 열리면 int 나 error 가 나올거야. 두 경우를 모두 대비해 줘." 이 상자를 받은 변수는 상자로부터 int 가 나올 때를 대비해 then 메소드를, Error 가 나올 경우를 대비해 CatchError 메소드를 준비해야 .. 2021. 10. 17.
[flutter] const와 final의 특징 const와 final의 특징 구분 공통점 차이점 const 한번 변수에 설정한 값은 다시 재 설정을 할 수 없다. 컴파일 타임에 상수를 결정한다. final 위와 동일 런타임시에 상수를 결정한다. 예제 final DateTime final = DateTime.now(); print(final); ......... const DateTime const = DateTime.now(); print(const); 위 코드를 실행할 경우 final의 경우는 정상적으로 출력이 되지만 const의 경우는 에러가 출력된다. 예제 설명 const DateTime con = DateTime.now(); print(con); 위 코드는 const는 컴파일 시에 상수를 결정하기 때문에 런타임 코드에서 코드가 실행되어야 알 .. 2021. 10. 17.
[flutter] Stateful Widget 과 Stateless Widget 의 차이점 Stateless widget 사용자의 동작과 상호작용이 필없는 위젯을 사용할 때 사용한다. 화면 표시용 위젯 내용을 변경할 수 없는 위젯 ex) Container, Row , Column, Icon, Text 등이 있다. Stateful widget 상태를 가질수 있은 위젯을 사용하기 위해 사용한다. ex) CheckBox, Slider 등이 있다. CheckBox는 체크, 체크안함 이 두가지 상태를 갖고 있으며, 사용자의 액션에 따라 상태가 변하게 된다. Stateful widget 이 rebuild 되는 경우 child 위젯의 생성자를 통해서 데이터가 전달 될 때 Internal state가 바뀔 때 왜 이렇게 나누어 놓았는가? Stateless는 상호작용이 필요없기 때문에 LifeCycle이 더 .. 2021. 10. 17.
[flutter] Collection 과 Generic Collection 데이터들을 모아서 가지고 있는 자료구조 Generic Collection이 가지고 있는 데이터들의 데이터 타입을 지정 Generic 기법을 사용한 코드가 그렇지 않은 코드보다 훨씬 간결하고 보기편함. Generic 기법 사용(x) class Circle{} class Square{} class SquareSlot{ insert(Square sqareSlot){ } } class CircleSlot{ insert(Circle circleSlot){ } } void main(){ var circleSlot = new CircleSlot(); circleSlot.insert(new Circle()); var squareSlot = new SquareSlot(); squareSlot.inse.. 2021. 10. 17.
[flutter] pushNamed를 활용한 navigator 사용법. 멀티페이지 구현방법 main.dart import 'package:flutter/material.dart'; import 'ScreenA.dart'; import 'ScreenB.dart'; import 'ScreenC.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( initialRoute: '/', routes: { '/': (context) => ScreenA(), '/b': (context) => ScreenB(), '/c': (context) => ScreenC() }, ); } } Scre.. 2021. 10. 17.
[flutter] widget 이란? Types of Widgets: Flutter의 모든 것 1. Stateless Widget 정의: 이전 상호작용의 어떠한 값도 저장하지 않음 (상태가 없는 정적인 위젯) 스크린상에 존재만 할 뿐 아무것도 하지 않음 어떠한 실시간 데이터도 저장하지 않음 어떤 변화(모양,상태)를 유발하는 value값을 가지지 않음. 2. Stateful Widget 정의: Value 값을 지속적으로 추적 및 보존 (계속 움직임이나 변화가 있는 위젯) 사용자의 상호작용에 따라서 모양이 바뀜 데이터를 받게 되었을 때 모양이 바뀜 3. flutter widget tree Widget들은 tree 구조로 정리 될 수 있음 한 Widget내에 얼마든지 다른 Widget들이 포함 될 수 있음 Widget은 부모 위젯과 자식 위젯으로.. 2021. 10. 17.