플러터 Flutter
-
[Flutter] 플러터 코드에서 dispose() 메소드를 사용 하는이유??플러터 Flutter 2021. 6. 13. 20:54
- 컨트롤러 객체가 제거 될 때 변수에 할당 된 메모리를 해제하기 위해 ex) StatefullWidget 의 initState에서 스트림을 사용하는 경우 streamController에 할당 된 메모리를 닫기 위해 @override void dispose() { cameraController?.dispose(); bannerAd?.dispose(); timer.cancel(); super.dispose(); } 나는 실무에서 PageController 를 생성해서 위젯을 페이징처리 한적이 있는데.. 그때 사용해봤다..
-
[Flutter/Drat]다트 유용한 메소드 Method 함수 Function 정리~플러터 Flutter 2021. 6. 12. 20:23
Dart에서는 iterable이라는 개념이 있다. 이것은 반복이 가능한 그룹을 뜻하고 iterable? A collection of values, or "elements", that can be accessed sequentially. list나 array, 등을 의미한다. Map은 순서가 없기 때문에 iterable이 아니다. 하지만 linked Map은 순서가 있으니 iterable이다. - 배열의 복사 방법 var list = [1, 2, 3, 4]; // 얕은(주소) 복사 (값이 복사되는게 아니라 원래 래퍼런스를 참조해서 map안의 함수가 연산되서 결과가 나옴) var newList = list; print(newList); // [1, 2, 3, 4] // 깊은 복사 ( 스프레드(흩뿌리다) 연산..
-
[Flutter]플러터 Futurebuilder / Streambuilder란??플러터 Flutter 2021. 5. 30. 17:43
아직까지 나도 제대로 적용한적은 없고 그냥 구글링하면서 학습겸 정리하였다. - FutureBuilder 공식문서 바로가기 앨범에서 이미지 가져오기, 배터리 표시, 파일 가져오기, http요청등 일회성 응답에 사용 - StreamBuilder 공식문서 바로가기 위치 업데이트, 음악 재생, 스톱워치 일부 데이터를 여러번 가져올때 사용 둘다 코드를 읽고 error 나 data 받는다. - FutureBuilder 샘플코드 코드를 복사해서 실행하면 2초 로드후 데이터를 가져왔다는 성공 메시지를 띄우는 예제이다. ※FutureBuilder는 StatefulWidget의 자식클래스이다. 1. FutureBuilder import 'package:flutter/material.dart'; void main() => ..
-
[Flutter] 플러터 Text 텍스트 위젯(TextSpan, RichText Text.rich )플러터 Flutter 2021. 5. 2. 18:51
텍스트를 그리는 Text() 와 RichText() 있고 그래픽적 효과를 적용할 수 있는 TextStyle() 글자, 문장을 모아 문단을 구성할 수 있게 해주는 TextSpan()이 있다. Text() //defulat Text('A Text widget'); //option Text('bold text', textAlign: TextAlign.center, style: TextStyle(fontWeight: FontWeight.bold), ) textAlign : 문자를 수평적으로 배치하는 방법. (center, left, right, end, ...) textDirection : 문자 배치 방향. (ltr:왼쪽에서 오른쪽으로, rtl:오른쪽에서 왼쪽으로, ...) style : 문자의 스타일. (Bo..
-
[Flutter] Image 이미지 box.fit 옵션 정리플러터 Flutter 2021. 4. 25. 19:00
import 'package:flutter/material.dart'; void main() { runApp(MaterialApp( title: '사진 옵션', home: Scaffold( appBar: AppBar( title: Text('사진 옵션'), ), body: MyApp(), ), )); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return GridView.count( padding: const EdgeInsets.all(5.0), //padding은 GridView 클래스 객체 전체에 적용되는 여백 mainAxisSpacing: 5.0, //mainAxisSpacing은 수평 ..
-
[Flutter] 플러터 async*/ yield / yield* 키워드플러터 Flutter 2021. 4. 25. 18:20
주로 bloc패턴에서 많이 사용 된다. async* : async*는 제너레이터를 만든단 뜻. 제너레이터는 게으르게(lazily) 데이터 연산을 할 때 쓰인다. 게으르다는 건 미리 연산을 다 하는 게 아니라, 요청이 있을때까지는 연산 하는 걸 미루어 두었다가 필요할 때 처리하는 걸 뜻한다. yield : return이랑 유사하다. return은 한번 리턴하면 함수가 종료되지만, yield는 종료되지 않는다. yield는 열린 채로 있어서 필요할 때 다른 연산을 할 수 있다. yield Iterable 또는 Stream에서 값을 반환한다. yield* Iterable 또는 Stream 함수를 재귀 적으로 호출하는 데 사용된다. 아래는 기본적인 예제 dartpad.dev/embed-inline.html?id..
-
[Flutter] 플러터 Row로우 Column컬럼 정렬 정리플러터 Flutter 2021. 4. 24. 18:19
- 행(Row)의 경우 주축은 가로를 기준으로 한다. - 열(Column)의 경우 주축은 세로를 기준으로 한다. dartpad.dartlang.org/ 위의 사이트에서 아래의 소스를 확인 할 수 있다. import 'package:flutter/material.dart'; void main() => runApp(ContainerExample()); class ContainerExample extends StatelessWidget { static const String _title = 'Container'; @override Widget build(BuildContext context) { return MaterialApp( title: _title, debugShowCheckedModeBanner: f..
-
[Flutter] 플러터 Margin마진 Padding 패딩 EdgeInsets 정리플러터 Flutter 2021. 4. 24. 17:47
dartpad.dartlang.org 위의 사이트에서 아래의 소스로 마진, 패딩 옵션을 확인 할 수 있다. # margin, padding 패딩,마진 차이는? 컨테이너의 margin : 바깥쪽 영역과 padding : 안쪽 영역이다. import 'package:flutter/material.dart'; void main() => runApp(ContainerExample()); class ContainerExample extends StatelessWidget { static const String _title = 'Container'; @override Widget build(BuildContext context) { return MaterialApp( title: _title, debugShowCh..