Flutter - 함수
·
Flutter
함수 함수 사용의 장점 코드 중복을 줄인다. 코드가 더 명료해진다. 코드의 재사용성이 좋아진다. 복잡한 문제를 간단한 부분으로 쪼갤 수 있다. 정보를 숨긴다. main() 함수 main() 함수는 프로그램의 시작점, 진입점 함수이다. 이름 있는 일반 함수 정의 int add(int x, int y) { return x + y; } 화살표(Arrow) 함수 화살표 함수는 함수의 몸통(body)이 하나의 수식(expression)인 경우 중괄호({})와 return 키워드를 생략하고 간단히 쓸 수 있는 표기법이다. int add(int x, int y) => x + y; 필수 매개변수와 옵션 매개변수 필수 매개변수 단순히 매개변수에 어떤 괄호도 치지 않고 그냥 나열하면 필수 매개변수이다. 옵션 위치(Posi..
Flutter - 타입 검증 연산자
·
Flutter
타입 검증 연산자 as : 타입 캐스팅 is, is! is: 특정 타입여부 인지 여부가 일치하면 true is! : 특정 타입여부 인지 여부가 일치하면 false 객체의 타입을 알아내려면 runtimeType 속성으로 확인 가능하다. 하지만 실제로 런타임 타입 체크를 하려면 Object is Type 조건을 사용한다. // 사용예시 var typeChk = "나의타입"; print(typeChk.runtimeType); // result : String
Flutter - NullAware
·
Flutter
널 인지(Null-aware) 연산자 위젯의 널 여부 확인 사용한다. ?? 좌, 우 피연산자 중에서 Null이 아닌 것을 선택한다. const x = null; const y = 1; const z = 2; print(x ?? y); // 1, 우측 y값 선택 print(y ?? x); // 1, 좌측 y값 선택 print(y ?? z); // 1, 둘다 null이 아니지만 좌측 y값 선택 플러터에서 이용 사례 _image ?? const Text('No Image') ??= const x = null; const y = 1; var t; t ??= x; // t가 null이면 x를 대입하는데 x도 null이다. print(t); // null t ??= y; // t가 null이면 y를 대입한다. pr..
Flutter - 컬렉션 타입
·
Flutter
리스트(List) 다트는 리스트 컬렉션만 제공하고 배열(arrays)은 별도로 제공하지 않는다. 인덱스 슬라이스 원소 추가 원소 삭제 원소 변경 리스트 변수 선언 // 대괄호로 나열한다. const list = [1, 2, 3]; // 원소의 끝에 매번 ,(콤마)를 붙여도 동작한다. const list = [ 'Car', 'Boat', 'Plane', ]; 원소 끝에 콤마를 붙이는 것(trailling comma)이 코드의 가독성에 더 좋다. 리스트의 길이와 인덱싱 var list = [1, 2, 3]; assert(list.length == 3); length 속성으로 리스트의 길이, 원소의 갯수를 구할 수 있다. assert(list[1] == 2); list[1] = 1; assert(list[1]..
Flutter - 문자열 처리
·
Flutter
문자열 내 변수 삽입(interpolation) print('${user} is ${age} years old.'); 주요 문자열 속성 length: 문자열의 길이 (공백문자 포함) isEmpty: 빈 문자열일 경우 참 isNotEmpty: 빈 문자열이 아닐 경우 참 codeUnits:문자열의 UTF-18 문자 코드 const s1 = 'HiFlutter'; const s2 = ''; print(s1.length); // 9 print(s2.length); // 0 print(s1.isEmpty); // false print(s2.isEmpty); // true print(s1.isNotEmpty); // true print(s2.isNotEmpty); // false print(s1.codeUnits)..
Flutter Package Sizer
·
Flutter
Package Sizer : 다양한 화면 크기 (해상도)에 맞게 UI를 자동으로 저정해 주는 패키지입니다. Sizer 사용법 ▶ MainPage.dart (Sizer 패키지를 적용할 파일)에 SizerUtil.init() 메서드를 추가합니다. ▶ 반드시 LayoutBuilder 와 OrientationBuilder 사용해야 합니다. ▶ 코드는 MainPage 클래스 안에 있는 build() 메서드의 코드를 수정합니다. ▶ Scaffold() 메서드를 감싸는 형태로 수정합니다. Widget build(BuildContext context) { return LayoutBuilder( builder: (context, constraints) { return OrientationBuilder( builder: ..
StatefulWidget의 LifeCycle(생명주기)
·
Flutter
statefulWidget은 무엇일까? statefulWidget은 stateless와 다르게 상태를 변하게 할 수 있는 위젯이다. 플러터에서 상태라는 것은 애플리케이션에 영향을 주는 데이터이다. 그래서 애플리케이션의 데이터가 변경이 된다면 그에 맞게 화면이 바뀌어야 한다. 유저가 버튼을 클릭하면 스낵바가 올라온다던가 하는 행동이다. 그렇다면 statefulWidget으로 애플리케이션을 어떻게 데이터(상태)를 관리하고 화면을 변경하는 것. createState state를 생성하는 곳이다. statefulWidget에서 state를 실행시킨다. @override _MyHomePageState createState() => _MyHomePageState(); mounted mounted라는 것이 true로..
생성자와 널 세이프티 이해하기
·
Flutter
오늘은 생성자와 널 세이프티(null safety) 를 알아볼거다 생성자 - 인스턴스 초기화 메소드 - 인스턴스에 원하는 특징과 개성을 부여하기 위한 것 - 클래스는 반드시 생성자를 가져야 함 - Non nullable 변수에는 null 값이 할당될 수 없음 - 클래스내에서 생성된 변수에는 선언과 동시에 초기화 되어야 함 - 하지만 변수에 null 값이 필요하거나 값이 나중에 할당되어야 하는 경우를 위해서 이를 위한 해결책도 존재함(타입 뒤 ?) 코드로 보면 바로 이해가 갈거다 ! class Test{ String? carMaker; int? price; String? color; int? wheelNumber; Test(this.carMaker,this.price,this.color,this.wheel..
Flutter Setstate ?
·
Flutter
setState() 이란? setState() 함수 안에서의 호출은 State 에서 무언가 변경된 사항이 있음을 Flutter Framework 에 알려주는 역할이다. 이로 인해 UI 에 변경된 값이 반영될 수 있도록 build 메소드가 다시 실행된다. 쉽게 말해서 우리가 StatefulWudget 을 자주 사용을 한다. StatefulWidget StatefulWidget은 변경될 수 있는(mutable) 상태(state)를 가지고 있는 위젯이다. 여기서 상태는 1)위젯이 빌드되는 동시에 읽을 수 있고, 2)위젯의 생명 주기동안 변경할 수 있는 정보를 말한다. 그래서 StatefulWidget는 UI의 일부분이 동적으로 변화할 때 유용하게 사용할 수 있다. 아래는 StatefulWidget을 사용할 때..
Flutter SQLite(2)
·
Flutter
어제는 Flutter SQLite 세팅부터 간단한 조희 등 설명을 했다. - 참고 바란다 Flutter SQLite 1) (tistory.com) Flutter SQLite 1) 오늘은 Flutter 에서 SQLite를 쓸 일이 있어 글을 남긴다.. 공식 홈페이지 https://docs.flutter.dev/cookbook/persistence/sqlite Persist data with SQLite How to use SQLite to store and retrieve data. docs.flutter.dev 여기에 보면 공식 developer0524.tistory.com 오늘은 Update 랑 내가 어떻게 사용자한테 보여주는지 알려주려고 한다. 일단 나는 사용자가 Value를 조정하고 저장을 누르면 ..