lib/main.dart 파일이 메인파일이고 그 파일 안에서 진행void/main 함수 안에서 runApp문으로 실행플러터 디자인은 기본적으로 위젯 짜집기제일 중요한 위젯 4가지 텍스트 위젯 아이콘 위젯 이미지 위젯 박스 위젯플러터 아이콘 리스트Flutt
Material Design 과 Cupertino(아이폰 스타일)둘중 하나 쓰려면 각각의 테마위젯 불러와서 써야하고 커스텀하겠다 하면 일단 Material을 불러와서 커스텀을 해야함.Material Design 쓰려면 일단 pubspec.yaml 파일에 uses-mat
박스를 넣고 싶으면 Container 를 쓰지만 width와 height밖에 안쓴다면 SizedBox를 쓰라고 Lint가 뜸Container가 더 무겁기 때문에margin, padding 속성을 파라미터로 넣어주면 됨단 숫자만 써주면 안되고 EdgeInsets 라는 함
Text() 위젯안엔 style 파라미터 넣을 수 있음background, fontsize, fontweight 등등 css 할 때 선언해주는 그런 비슷한것들 다 쓸 수 있음.1) 미리 정해진 색상표에서 선택2) RGB코드랑 투명도까지 넣는법3) hex칼라로 고르는 방
Row 안에서 박스를 여러개 배치할때 %로 영역을 나누고 싶을 때flex는 이 박스가 가로폭을 얼마나 차지할 지 나타내는 배수Column 안에서도 마찬가지로 사용가능하나의 박스만 가로폭을 꽉 채우고 싶을 때 사용
왼쪽에 그림있고 오른쪽에 글 있는 레이아웃 있을 때 사용하면 편함.리스트를 동적으로 반복해서 생성하고 싶을 때 사용하단에 공중에 뜬 버튼이 생성이 됨.버튼 눌렀을 때의 동작은 onPressed에다 작업
state를 사용하면 자동으로 위젯 재렌더링이 됨.state 만드는법은 Stateful Widget 만들거나 기존 위젯을 IDE 전구버튼 이용해서 Stateful Widget으로 변경해줘야함.Stateful Widge 만드는건 stful 하고 탭키 눌러주면 자동생성st
원래 실행하던 소스로 실행할 시 MaterialApp 이 없어서 안된단 오류가 나며 Material App 밖으로 빼준뒤 실행하면 된다 이거는 context 관련한 내용인데 그냥 강의 한번 더 들ㅇ면 이해됨 족보같은거라고 보면됨.그치만 부모들의 족보만 있음.ShowDi
보내기DialogUI( state : a )작명 : 변수명으로 파라미터에 추가 자식은 state 이름을 등록this.작명한 이름, final 작명한 이름 2개 추가DialogUI 변수 선언부분의 {} 는 {}안의 파라미터는 선택적인 파라미터라는 뜻사용자식 -> 부모로
TextEditingController() 를 담는 변수는 생성해서 TextField 위젯에 controller 로 추가해주거나OnChanged 파라미터를 사용해서 사용자가 입력 했을 때 동작부분을 구현해주거나input이 10개면 10개만큼의 1 or 2번 작업을 해주
permission_handler \- pubspec.ymal 파일에 버전기록android 폴더 gradle.properties 파일 내 아래 내용 확인android/app/build.gradle 파일 중간에 compileSdkVersion 확인31로 맞추거나, 숫자
icon 파라미터 대신 prefixIcon:, suffixIcon: 파라미터도 있음.커서 찍혔을 때, 에러일 때 등 테두리 관련 파라미터border:focusedBorder:disabledBorder:errorBorder:focusedErrorBorder:Outlin
스타일만 모아서 ThemeData 위젯으로 만든 뒤 theme 파라미터로 추가할 수 있음 스타일 중복이 발생 할 시 물리적으로 가까운 스타일을 먼저 적용하려고 함ThemeData 길어질 경우 lib 폴더 안에서 다른 dart 파일로 만들어놓고 import 해오면 깔끔하
UI의 현재 상태를 저장할 state를 생성state를 만들때는 StatefulWidget으로 변경해야함.그 State에 따라 UI 가 어떻게 보일 지 코드 만들어두고유저가 state를 조작할 수 있는 기능 개발(클릭한다거나)http 라는 패키지 설치가 필요함.pubs
서버에 GET, POST 요청할 일이 많으면 http 패키지보단 Dio 패키지 설치해서 쓰는게 좋을수도있음.state 내용이 GET요청으로 늦게 도착하는 경우 FutureBuilder()로 state 사용하는 곳을 감싸주면됨.입력한 Future 변수가 실제 데이터로 변
문자 ${변수명} 문자StatefulWidget은 class가 2개, 부모가 보낸 state를 사용하는 경우 첫번째 클래스에서 등록해주고 사용은 두번째 클래스에서 사용 사용할때는 widget.변수명과 같이 앞에 widget.이 붙어야함.ScrollController를
Navigator.pop(context)
image picker 설치+사용법사용예시고른 이미지 사이즈, 화질 조정 가능.이미지 필터 패키지
String, bool, int, double, stringList 가능map 형식 자료는 jsonEncode 해서 string 으로 저장이미지는 저장 못함,. 이미지 저장하려면 cached_network_image 같은 패키지 사용하면됨.
텍스트나 이미지 등의 위젯을 이 위젯으로 감싸면 해당 위젯을 어떻게 만지는지 다 감지해서 동작 추가해 줄 수 있음onTap ( 한번클릭 )onDoubleTap( 더블탭 )onLongPress ( 길게 누를 때 )onScaleStart ( 두손가락으로 줌인 시 사용 )그
전송 없이 모든 위젯이 state를 직접 가져다쓸 수 있게 만들어주는 패키지Provider 패키지state 보관하는 store 필요store 등록 필요store를 사용할 위젯들을 전부 ChangeNotifierProvider()로 감싸면됨. 모든 위젯에 다 사용할 경우
ListView나 GridView 사용시 자동으로 스크롤이 생성되지만 다른요소와 합쳐 사용하는 경우에는 해당 위젯을 쓴 영역만 스크롤이 됨.여러 요소를 합쳐서 크게 스크롤바를 만들고 싶을 때 사용하는 위젯대충 Column이랑 똑같은 용도지만 스크롤바 생기고 문법도 약간
Local notification - 패키지설치해서 사용법 복붙하면됨서버를 대신 만들어주는 서비스서버개발없이 DB에 자료 저장, 사진,파일 등등 저장 가능pubspec.yaml 파일 내 패키지 설치firebase console(https://console.fi
firebase 에서 사용가능한 2개 DB 중 하나 realtime database, firestore 이렇게 2개 있음. NoSQL DB, SQL 문법없이 사용하는 DB폴더( collection )를 하나 만들고 그 안에 문서( document )를 넣는식으로 자료