프로그래밍 공부 메모/flutter
-
Navigator.pushNamed() 다중 화면 전환프로그래밍 공부 메모/flutter 2022. 5. 29. 22:26
1. initalRoute / routes 속성 값을 꼭 사용 해야함 2. 웹사이트 주소 체계와 유사함 ( map 값으로 표현) [앱 실행후 route 설정 코드] import 'package:flutter/material.dart'; import 'package:flutter_application_2/ScreenB.dart'; import 'package:flutter_application_2/ScreenC.dart'; import 'ScreenA.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget ..
-
Navigator 다루기 push(), pop() 화면 전환프로그래밍 공부 메모/flutter 2022. 5. 29. 20:26
1. 플러터에서 네비게이터는 각 화면의 데이터를 가지고 화면 전환을 담당한다 2. 네비게이터는 기본적으로 stack 자료구조를 사용하여 화면을 쌓아 올린다 3. 데이터 추가(화면 이동) - push() / 데이터 삭제 (화면 끄기) - pop() import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( theme: ThemeData( primarySwatch: ..
-
BuildContext / Snack Bar 자세히는 모름...프로그래밍 공부 메모/flutter 2022. 5. 27. 23:16
스넥바는 가벼운 메시지를 띄우는 기능이다 이 스넥바가 그려지는 위치가 ' of 메소드 ' 통해 scaffold 위젯에서 그려져야 하는데 에러가 난다... ' of 메소드 '의 역할은 해당 가까운 ' context ' (여기에선 scaffold 클래스)가 있는 클래스를 찾가라는 것이다 하지만 결과는 scaffold클래스를 찾이 못하고 부모 클래스인 mypage를 찾아가보고 그래도 없으면 그 위로 계속 찾아가지만 에러가 발생한다 해결 방법으로 BuilderContext 위젯을 생성하여 찾아가자~ Scaffold 위젯 밑에 BuilderContext 위젯을 위치 시켜 Scaffold.of 메소드가 그 위에는 바로 Scaffold가 있다는 것을 찾을 수 있게 해준다 예제 코드) import 'package:fl..
-
class 다루기 #9 Generic프로그래밍 공부 메모/flutter 2022. 5. 19. 23:36
외부에서 타입을 받을 때 사용하며 다양한 형태로 변경 가능 void main() { List name = []; // string타입의 generic을 선언해서 문자가 들어간다는걸 명시 //외부 1 Lecture lecture1 = Lecture('123', 'lecture1'); lecture1.printIdType(); //외부 2 Lecture lecture2 = Lecture(123, 'lecture2'); lecture2.printIdType(); } //generic = 타입을 외부에서 받을 때 사용 class Lecture{ final T id; // 변수 id 값의 타입을 다이나믹 하게 만들 수 있다 final X name; Lecture(this.id, this.name); void pr..
-
Map 다루기 (entry, asMap)프로그래밍 공부 메모/flutter 2022. 5. 17. 23:33
entry -> Map의 각각의 요소를 컨트롤 할 수 있다 asMap -> { key : value } 형식의 map으로 매핑시켜 줄 수 있게 변경해준다 void main() { Map map = {'apple': '사과', 'banana': '바나나', 'kiwi': '키위'}; print(map.keys); print(map.values); print(map.keys.toList()); print(map.values.toList()); //Mapping - map => entry(map의 key와 value를 하나씩 가져올 수 있다) final newMap = map.entries.map((entry) { final key = entry.key; final value = entry.value; ret..
-
List 다루기 Looping / Mapping / Reduce / Fold프로그래밍 공부 메모/flutter 2022. 5. 17. 22:50
void main() { //Looping //Mapping //Reduce/Fold List redVelvat = ['아이린', '슬기', '웬디', '조이', '예리']; //Looping - forEach redVelvat.forEach((val){ print(val); }); for(String val in redVelvat){ print(val); } //Mapping = map final newList = redVelvat.map((val){ return '제 이름은 $val 입니다'; //return 값이 있다 }); print(newList.toList()); //Reduce/Fold - reduce, fold(시작하는 index 위치를 정할 수 있다) 값을 누적 시킴 List number..
-
class 다루기 #8 Cascade Operator프로그래밍 공부 메모/flutter 2022. 5. 17. 22:03
반복적으로 작성되는 변수명을 ' . . '으로 생략 가능하다