Dart 8

Flutter 1. 메인 화면 위젯 구성

플러터의 의존성 관리 도구는 pubspec이다. https://pub.dev/ Dart packages Pub is the package manager for the Dart programming language, containing reusable libraries & packages for Flutter, AngularDart, and general Dart programs. pub.dev device를 웹으로 잡고 실행해보자. 이름을 StoreApp으로 바꾸면 test 폴더에 오류가 난다. 지금 테스트를 할게 아니기 때문에 테스트 폴더를 통째로 날려버리자. 어플의 여러가지 페이지가 있을거니까 import 'package:flutter/material.dart'; class MainPage exten..

Dart 2022.06.03

Dart JSON-Object 변환

다트도 버퍼가 있다. httpUrlConnection 같은것. 통신으로 받았다 치고 response에 json 데이터를 넣었다. 통신으로 받은 데이터의 타입을 정확히 적는다면 String이다. var response = '{"id": 119,"username": "hello1","password": "1234","email": "hello1@nate.com","created": "2022-31-23T06:31:21","updated": "2022-31-23T06:31:21"}'; void main() { print(response); } String 타입으로 받은 json 데이터를 map이나 클래스 타입으로 바꿔야 사용하기 편하겠다. json 데이터를 오브젝트 타입으로 변환하는 방법이 필수이다. Gson..

Dart 2022.06.03

Dart Map

자바에서의 HashMap, 파이썬의 dict 타입과 비슷하게 생겼다. String이 키값, dynamic이 밸류 오브젝트 타입이다. Map user = { "id":1, "username":"cos" }; void main() { print(user); } json과 완전 동일하게 생기진 않았다. 키값에 쌍따옴표가 없기 때문이다. 밸류에 스트링이 들어올 수도 있고, 다시 json이 들어올 수도 있고, 배열이 들어올 수도 있기 때문에 dynamic 타입으로 받아준다. 내가 만약 공공데이터를 받을건데 어떤 타입이 들어올지 모르겠어. 그럼 이렇게도 받을 수 있다. var Map user = { "id":1, "username":"cos" }; var user2 = { "id":2, "username":"ssa..

Dart 2022.06.03

Dart 클래스

class Dog { // 생성자로 값이 들어올 수도 있고, 안들어올 수도 있으니 null이 될 수도 있겠네 "?" // private로 만들고싶을 때 필드명 앞에 "_" 붙이기 String? _name; int? _age; // 생성자 Dog (this._name, this._age); String? getName () => _name; int? getAge () => _age; } void main() { Dog d = Dog("레르코", 10); } Function을 담을 때는 메서드 자체를 담기때문에 Function aaa = () => "hello"; 이렇게 사용하는데 변수를 담을 때는 int a () => 2; 이렇게 담아준다. 다트는 오버로딩이 안된다. 대신 파이썬처럼 선택적 매개변수를 사용..

Dart 2022.05.31

Dart 람다식, 익명함수

// 익명함수 // Function 타입 hello에 함수를 담음 Function hello = () { return "Hello Everyone"; }; // 모든 타입 다 받을 수 있어서 가능 (정확한 타입 : Function 타입 고정!) // 타입을 확실히 알 때는 var 쓰지말자! var hello2 = () { return "Hello Everyone"; }; // 타입 변환 가능 dynamic hello3 = () { return "Hello Everyone"; }; void main() { print(hello); } 이렇게는 못쓴다 Function bye() { } 람다는 expression의 꾸러미 짧은 함수 리턴을 무조건 함 화살표함수 내부를 무조건 리턴 // 람다식 expressio..

Dart 2022.05.31

Dart 문법

https://dartpad.dev/? DartPad dartpad.dev 다트도 마찬가지로 main이 먼저 실행된다. int n1 = 1; double d1 = 10.1; bool b1 = true; String s1 = "홍길동"; void main() { print("정수 : ${n1}"); print("실수 : ${d1}"); print("불리언 : ${b1}"); print("문자 : ${s1}"); } // var 타입추론 : 값이 들어올 때 결정되는 타입 var n1 = 1; var d1 = 10.1; var b1 = true; var s1 = "홍길동"; void main() { print("정수 : ${n1}"); print("실수 : ${d1}"); print("불리언 : ${b1}")..

Dart 2022.05.26