Flutter & Dart 19

Flutter - Layout a widget & Row, Column 정렬하기

1.layout widget을 선택한다. 2.위젯을 생성한다. Text('hello world'), Image.asset( 'images/lake.jpg', fit: BoxFit.cover, ), Icon( Icons.start, color: Colors.red[500], ), 3.위젯에 layout위젯을 추가한다. 모든 레이아웃은 다음중 하나가 있다. -child: 하나의 자식을 받는 것(Container, Center) -children: 위젯 목록을 받는 것(Row, Column, ListView, Stack) Center( child: Text('hello world'), ), 4.페이지에 layout 위젯 추가하기 Flutter 앱 자체는 위젯이고 대부분의 위젯에는 build 메서드가 존재한다...

Flutter & Dart 2022.10.22

Flutter - 레이아웃 구성

1단계 - 코드 기반의 앱을 생성 import 'package:flutter/material.dart'; //MyApp을 시작 위젯으로 설정하여 앱을 실행 void main() => runApp(MyApp()); //앱의 시작점에 해당하는 위젯 class MyApp extends StatelessWidget{ @override Widget build(BuildContext context){ //Material앱을 생성하여 반환 return MaterialApp( title: 'Flutter Layout Demo', //앱의 타이틀 theme: ThemeData( //앱의 테마 설정 primarySwatch: Colors.red, //주요 테마 색상 ), //홈 설정, 홈은 Material앱의 시작점 ho..

Flutter & Dart 2022.10.22

[Flutter] 다국어 지원

Flutter - 다국어 지원 https://software-creator.tistory.com/24 intl 패키지와 툴 써서 번역하기 플러터 다국어 지원은 좀 까다롭습니다. Intl.message를 .arb파일로 바꾼 뒤 읽어들여야 한다. .arb파일이란? arb(Application Resource Bundle)는 구글에서 만든, 파일 형식입니다. 언어 데이터를 저장했다가 번역하기 위해 쓰이죠. 단순한 형태의 json파일이라고 보면됩니다. 플러터에선 arb말곤 다국어지원을 안해서, 어쨋든 arb파일 다루는 법을 알아야 합니다. Google Translators Toolkit도 .arb파일형식을 지원하고 있습니다. intl란? intl은 다트에서 다국어(internalization and locati..

Flutter & Dart 2022.10.22

[Flutter] Screen Naviation | 화면(라우트)간 이동

Screen Naviation | 화면(라우트)간 이동 https://here4you.tistory.com/111?category=787559 라우트(Route)란? -Flutter 앱에서는 스크린이나 페이지를 라우트라고 부른다. 라우트간에 네비게이션을 하는 방법 import 'package:flutter/material.dart'; void main(){ runApp(MaterialApp( title: "Navigation Basics", home: FirstRoute(), //FirstRoute를 홈으로 설정 )); } //첫번째 라우트 class FirstRoute extends StatelessWidget{ @override Widget build(BuildContext context){ retu..

Flutter & Dart 2022.10.22

플러터 스트림

스트림은 데이터나 이벤트가 들어오는 통로다. 비동기 작업을 할 떄 주로 쓰인다. 1초마다 데이터를 만드는 스트림이다. void main(){ var stream = Stream.periodic(Duration(seconds: 1), (x) => x.take(10); //1초마다 데이터를 1개씩 만듬, 10개 까지만. stream.listen(print); //이벤트 처리 } 스트림은 항상 만들기 -> 연결(listen) -> 데이터 처리의 과정을 거친다. Stream - 여러 방법으로 스트림 만들기 즉시 만들거나, 일정 시간마다 만들거나, 퓨처를 써서 만들 수 있다. void main(){ Stream.fromIterable([1,2,3,4,5]) //일반적인 데이터를 다룰 때 .listen((int x..

Flutter & Dart 2022.10.22

[Flutter] 플러터에 대해 알아보자

Flutter 간단 정리 플러터 레이아웃 참고 사이트 안드로이드와 ios모바일 애플리케이션을 One Source로 개발할 수 있는 UI프레임워크 -플러터는 구글에서 만들었습니다. -플러터 공식 홈페이지 flutter.dev -플러터는 다트(Dart)라는 언어로 개발 -플러터 개발 시작은 안드로이드 스튜디오를 권장. 플러터 설치하기 1)안드로이드 스튜디오 설치 2)flutter-sdk를 설치합니다. 3)안드로이드 스튜디오에서 (flutter plugin)을 설치합니다. 변수 - 타입 지정, 타입 추론 다트는 타입을 정할 수도 있고, 안 정할 수도 있다. 타입을 정하지 않으면 컴파일할 때 타입이 정해진다.(타입 추론) 다만 한번 정한 타입을 나중에 바꿀 수는 없다.(type-safe) DART - 타입 지정..

Flutter & Dart 2022.10.20

다트 기본 문법

다트 문법 http://doocong.com/flutter/dart-study/ 다트 기본 문법 함수 void main(){ var test = "test"; print('test = $test'); } 기본값 설정 void printMsg(String msg, [String value = 'undefined']){ print('msg = $msg, value = $value'); } name, value 쌍으로 map형태로 인수 넣기 void main(){ printMsg(msg: "1234", value: "5678"); } 함수를 인자로 넣을수도 있다. double add(double a, double b) => a+b; //Function 정의자를 유의해서 보자. Function makeAdder..

Flutter & Dart 2022.10.20