플러터

· APP/Flutter
▲ 앱들 보면 하단버튼누르면 페이지를 이동시켜줍니다. 이런걸 만들어볼건데 페이지로 나누고 싶으면 여러가지 초이스가 있습니다. 페이지가 많으면 Router를 써도 되고 Navigator를 써서 새로운 페이지를 위에 덮어씌워도 되고 탭을 써도 됩니다. 탭을 만들어봅시다. 왜냐면 웹 페이지는 페이지가 파일 단위로 명확히 존재합니다. home.html shop.html 이런 식으로 html 파일을 여러개 만들어놓고 유저가 shop페이지 원하면 shop.html 보여주면 되는 것이지만 앱은 페이지가 1개입니다. 그니까 하나의 main.dart 파일 안에서 여러분들이 home() 도 보여주고 shop() 도 보여줘야하는 것입니다. 그래서 앱은 웹처럼 별도의 페이지 개념이 아니라 "유저가 shop보고 싶다그러면 ho..
· APP/Flutter
ThemeData() 같은 경우 매우 길어질 수 있습니다. 그럴 땐 다른 파일로 빼든가 하면 됩니다. 1. lib 폴더 안에 style.dart 이런 파일을 만들어서 거기다가 변수 만들어서 축약할 내용 다 집어넣고 2. main.dart로 불러오면 됩니다. 그럼 main.dart 파일이 깔끔해지겠군요 (style.dart 파일) import 'package:flutter/material.dart'; var theme = ThemeData( ThemeData안에 들어있던 모든 내용 ) (main.dart 파일) import 'style.dart' as style; class MyApp extends StatelessWidget { MyApp({Key? key}) : super(key: key); @over..
· APP/Flutter
프로젝트 시작은 main.dart 켜서 import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home : MyApp() ) ); } class MyApp extends StatelessWidget { MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Scaffold(); } } 이렇게 채우고 시작할겁니다. 왜냐면 MaterialApp() 이건 밖으로 빼야 덜 불편하니까요. 그리고 analysis_options.yaml 파일 열어서 rules: prefer_typing_uninitialized_variables: f..
· APP/Flutter
시작하기 전에 Lint 관련 워닝 무시하는 법 Flutter 2.5 버전 이후 부터는 Lint라는게 생겨서 여러분에게 좋은 관습같은걸 알려주는데 초보땐 그런거 하나하나 지키면 복잡해서 코딩 포기하기 때문에 나중에 익숙해지면 씁시다. 그래서 analysis_options.yaml 파일 열어서 (analysis_options.yaml) rules: prefer_const_constructors: false avoid_print: false prefer_typing_uninitialized_variables: false prefer_const_constructors_in_immutables: false 이걸 추가해두고 시작하면 Lint 경고가 뜨지 않습니다. (주의) rules: 보다 prefer어쩌구: 가 ..
· APP/Dart
immutable 프로그래밍 : 한번 값들을 선언 하면 변경 할수 없도록 만드는것을 말함 이전시간에 작성한 생성자 글을 읽고 오면 이해하기 쉬울거임 Idol blackPink = Idol( "블랙핑크", ['지수', '제니', '리사', '로제'], ); 현제 // blackPink.name = "aloe_jk"; // 이렇게 이름을 변경 가능한데 // 개발자들은 이러한 상황을 선호하지 않음 처음 선언한 값을 절대로 변경할수 없도록 함 // 그래서 아래 클레스 변수에 final을 넣음 즉 변경할거면 새로 생성하도록 함 immutable 프로그래밍 하기전 클레스 작성 코드 class Idol{ String name ; List members; // 일반생성자 const Idol(this.name, this..
· APP/Dart
파이썬을 하셨던 분이라면 List 개념을 알고 있으실거 같습니다 그리고 파이썬을 공부하지 않으신 분들은 배열이랑 비슷하게 보시면 됩니다.(자료구조 측면에서 좀 다름) List void main() { //list List blackpink = ["제니", "지수", "로제", "리사"]; // 제너릭 안에 어떤 타입을 넣을지 알려주는거 숫자 넣으면 에러 List numbers =[1,2,3,4,5,6]; print(blackpink); print(numbers); print(blackpink[0]); print(blackpink[1]); print(blackpink[2]); print(blackpink[3]); // print(blackpink[4]); index 값 보다 높으면 오류 남 print(bl..
· APP/Dart
dart 문법은 객체지향 언어를 한번쯤 접해보신 분이라면 쉽게 접근 하실수 있습니다. 저와 마찬가지로 플러터를 위해 dart 문법을 공부 하시는 분들이라면 빠르게 보고 넘어가시는걸 추천 드립니다. 변수에 값 담기 var name = "HELLO"; print(name); var name2 = "레드벨벳"; print(name); name = "플러터 프로그래밍"; print(name); 파이썬을 공부 하신분들이라면 var? 이게 뭐지 하실수 있을거 같은데 아래 자료형에 대하여 정리하면서 다시 한번 설명 하겠습니다. 자료형 정리 //정수 int number1 = 10; print(number1); int number2 = 15; print(number2); int number3 = -20; print(nu..