
링크 접속https://docs.flutter.dev/get-started/install운영체제 선택zip 파일 다운로드다운로드 된 파일을 원하는 경로에 압축 풀기환경변수 설정윈도우 검색 창 → 시스템 환경 변수 편집사용자에 대한 사용자 변수(U) 중에서 Pa

안드로이드 스튜디오 - 왼쪽 Plugins 클릭 → Flutter 검색 후 설치Install 누르면 Dart 플러그인 설치를 물음 → 함께 설치하기 위해 Install 클릭설치가 되면 Restart IDE 버튼이 활성화되고, 클릭하면 안드로이드 스튜디오를 재실행한다.
analysis_options.yaml에 rules 아래에 4줄 코드 작성 → Lint를 잠깐 끄는 용도main.dart 파일에 stless라고 작성 후 Tab 키 누르면 위젯을 상속한 class가 생성됨 → 클래스 이름 작성해주기⇒ MaterialApp()을 사용하면

⇒ MaterialApp()을 사용하면 구글에서 제공하는 디자인을 사용할 수 있다.Material Design을 사용하려면 아래와 같은 코드가 입력되어 있어야 함 → pubspec.yaml⇒ Cupertino~()를 사용하면 아이폰 관련 위젯 사용 가능하다.글자 스타일

appBar : 상단자주 쓰는 파라미터title: 왼쪽 제목 - appBar: AppBar(title: Text(\*\*'앱임'\*\*))leading: 왼쪽에 넣은 아이콘 - appBar: AppBar(leading: Icon(Icons.star))title과 lea

자료를 잠시 저장하는 곳 : 변수 or state변수는 자동으로 재렌더링이 안됨state는 자동으로 재렌더링이 됨state 생성 방법 첫 번째 방법 : stful 입력 후 탭 키 두 번째 방법 : \`class MyApp extends StatelessWidget
pubspec.yaml 파일에 dependencies: 를 찾아 permission_handler: ^8.3.0 을 입력옆에 전구 모양 아이콘 클릭하여 pub get 실행import 'package:permission_handler/permission_handler.d
pubspec.yaml 파일에 dependencies: 를 찾아 contacts_service: ^0.6.3 을 입력옆에 전구 모양 아이콘 클릭하여 pub get 실행import 'package:contacts_service/contacts_service.dart';
변수, 함수 타입 지정이 잘 되었는지 확인null checknull인지 체크하는 if문 쓰면 됨삼항연산자 쓰면 됨?? 써도 됨 → ?? 왼쪽 변수가 null이면 오른쪽 값 남겨 달라는 뜻namei.givenName ?? '이름이 없는 사람'keytool 도구를 이용해서
MaterialApp() 안에 ThemeData() 열기모든 아이콘 빨간색AppBar 회색→ AppBar 안의 actions: \[] 아이콘에 빨간색으로 적용이 안된다면?AppBarTheme() 안에 아이콘 스타일 지정Text() 스타일 변경 → textTheme 사용
→ 거기다 변수를 만들어서 축약할 내용 넣기다른 파일에 있는 변수, 함수, 클래스를 import 해올 때 사용사용 시 → 작명.거기 있던 변수명⇒ 변수명 작명할 때 언더바를 왼쪽에 붙이기
pubspec.yaml 에 http: ^0.13.4 추가 후 pub get 누르기main.dart 파일 들어가서 코드 추가dart:convert 이건 JSON -> 일반자료형 변환을 도와주는 함수모음집android/app/src/main/AndroidManif
게시물목록 ListView에 ScrollController() 부착하기스크롤위치 계속 감시해주는 리스너 부착하기맨 밑까지 스크롤하면 서버에 게시물 더 달라고 GET요청하기데이터 가져오면 data라는 state에 추가해주기→ 스크롤 위치를 파악하고 싶으면 해당 위젯을 S

주의사항 : state 이므로 StatefulWidget으로 변경해야함!tab을 0으로 지정해놨기 때문에 tab이 0이면 0번탭, 1이면 1번탭으로 변경됨 → ‘홈’ 이렇게 지정해도 됨onTap: 파라미터를 추가하여 tab = i; 하면 됨state이므로 setStat
⇒ 란?return 하나 밖에 없으면 중괄호와 return 동시에 생략 가능현재 열린 페이지 닫아주기
페이지가 많은 경우 사용라우터를 제대로 쓸 거면 패키지 설치해서 사용 → 깔끔한 문법으로 페이지 나누기 가능버튼을 눌렀을 때 페이지 이동하게 만들고 싶은 경우 사용 /detail/1 로 이동하면 routeparam이라는 파라미터가 1로 변하고/detail/2 로 이동
pubspec.yaml 파일에 코드 추가 후 pub getios/Runner/info.plist 파일에 코드 추가 하단에 추가사용자에게 허락 팝업 띄울 때 보이는 글자들dart 파일 맨 위에 import 추가⇒ 이미지 선택 화면 뜨는 코드picker.pickImage(
DB 없이 데이터 저장하기⇒ 중요한 건 DB 보관⇒ 덜 중요한 건 Shared preferences 보관pubspec.yaml 파일에 추가 후 pub get 누르기패지키 사용할 파일 맨 위에 코드 추가SharedPreferences.getInstance() 이거 실행해
onTap: (){ 한 번 누를시 실행할 코드 }onDoubleTap: (){ 더블탭시 실행할 코드 }onLongPress: (){ 길게누를시 실행할 코드 }onScaleStart: (){ 줌인시 실행할 코드 }onHorizontalDragStart: (){ 수평으로
종류MaterialPageRoute()CupertinoPageRoute()슬라이드 전환import 'package:flutter/cupertino.dart' 상단에 추가해야함PageRouteBuilder() 1\. 전체 커스터마이징페이지 전환 애니메이션오른쪽에서

전송 없이 모든 위젯이 state를 직접 가져다 쓸 수 있게 만들어주는 패키지pubspec.yaml에 코드 추가 후 pub getdart 파일에 importstate 보관하는 store 필요class 생성해서 ChangeNotifier을 extends 하기store 등
팔로우 버튼 누르면 +, - 하기if문으로 팔로우 여부 확인
두 가지 방법Profile의 initState안에서 get요청 날리고 get요청이 완료되면 state수정함수를 작동시키기Profile의 initState안에서 state수정함수를 작동시켜서 state수정함수 안에서 get요청을 날리store 안에 보관하는 법profil

격자 레이아웃 grid가 몇개 생성될지 미리 알고 있으면 GridView.count 쓰고grid가 몇개 생성될지 아직 모르겠으면 GridView.builderitemCount : 개수gridDelegate : 가로로 보여질 개수예제child 안에 원하는 위젯 넣으면

push notification - 서버에서 보내는 알림local notification - 앱 자체에서 실행하는 알림 pubspec.yaml에 flutter_local_notifications: ^9.1.5 추가 후 pub getandroid/app/src/main
→ 함수로 빼도 됨⇒ 한 번에 모든 글자를 스타일주고 싶다면 ThemeData() 안에 넣으면 됨→ Theme() 위젯으로 감싸면 중간에 ThemeData()를 하나 만들 수 있는데 거기에 넣어도 됨auto_size_textText 위젯에서 글자가 특정 글자 수를 넘을

https://pub.dev/packages/photo_viewPinch 제스쳐라고 해서 손가락 두개 이용해서 사진을 줌인 하고 싶으면 씀기본적인 갤러리, 캐러셀 UI도 쉽게 쓸 수 있게 제공https://pub.dev/packages/simple_a