일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Null Safety
- Provider
- UserAccountsDrawerHeader
- GetX
- non-nullable
- 안드로이드
- Android
- dart
- BottomNavigationBar
- Cocoa touch Framework
- firebase_auth
- 정보처리기사
- 회원가입
- 로그인
- 함수
- 변수
- 안드로이드 스튜디오
- IOS
- java
- 1과목
- flutter
- auth
- Kotlin
- firebase
- 상태관리
- swift
- 이메일
- StatefulWidget
- go_router
- setState
- Today
- Total
목록dart (7)
앱 개발 공부방

먼저 원하는 폰트부터 다운로드한다 본인은 아래에서 찾아서 사용했습니다 https://noonnu.cc/ 눈누 상업용 무료한글폰트 사이트 noonnu.cc 다운로드한 폰트를 assets/fonts 폴더를 만들어서 넣어줍니다 그다음 pubspec.yaml로 이동해서 들여 쓰기에 주의해 주면서 폰트들을 추가해 준다 폰트가 Agro 체라서 family를 Agro로 작성했고 각 폰트에 맞게 weigth를 설정해 준다 Text('어그로 light',style: TextStyle( fontFamily: "Agro", fontWeight: FontWeight.w300, ),), Text('어그로 medium',style: TextStyle( fontFamily: "Agro", fontWeight: FontWeight...

싱글톤 패턴은 오직 하나의 인스턴스 만을 생성하는 패턴이다 한번 인스턴스를 생성하면 여러개의 인스턴스를 만들어도 최초 생성한 인스턴스를 리턴하여 고정된 메모리 영역만을 사용하여 메모리 측면의 효율성이 좋다 비교를 위해 일반적인 클래스를 하나 생성하고 class BasicClass{ int num = 0; } void main() { BasicClass basicClass = BasicClass(); BasicClass basicClass2 = BasicClass(); print('basicClass 1 : ${basicClass.num}'); print('basicClass 2 : ${basicClass2.num}'); basicClass.num++; basicClass2.num++; print('bas..
https://pub.dev/packages/provider provider | Flutter Package A wrapper around InheritedWidget to make them easier to use and more reusable. pub.dev 이번에는 flutter에서 대표적으로 쓰이는 상태관리 중 하나인 provider에 대한 예시를 들어보겠습니다 provider: ^6.1.1 먼저 pubspec.yaml에 위 코드를 추가하고 pub get을 해줍니다 다음으로 ChangeNotifier 인스턴스를 만들어 줍니다 import 'package:flutter/cupertino.dart'; class HomeProvider extends ChangeNotifier{ int _count =..

https://cpcp127.tistory.com/67 flutter - go_router 사용해서 라우팅하기 flutter에서 페이지 이동을 할 때 기본적으로 Navigator.of(context).push(MaterialPageRoute(builder: (context) => const FirstPage())); 이런 식으로 Navigator를 사용하는데 너무 길고 번거로워서 go_router 패키지를 사용해 cpcp127.tistory.com 저번에 go_router로 페이지 이동에 대해 포스트 했는데 이번에 페이지 이동 시에 정보를 함께 전달해서 페이지 이동해 보겠습니다 context.goNamed('third_page', extra: ['extra', 'go', 'router']); 이동할 때 ..

동기 프로그래밍은 한 번에 함수를 실행하면 다음 함수가 실행되기 전에 해당 함수의 결괏값이 먼저 반환됩니다 하지만 비동기 프로그래밍은 요청한 결과를 기다리지 않아서 순서가 다르게 호출될수있지만 컴퓨터 자원을 낭비하지 않으며 효율적으로 코드를 실행할 수 있다 void asyncTest(int a, int b) { print('$a + $b 시작'); Future.delayed(const Duration(seconds: 2), () { print('결과 ${a + b}입니다'); }); print('끝'); } 이런 식으로 결과를 보는 2번째 함수가 끝나기 전에 마지막 print가 출력되고 2초 있다가 결과를 보여주는 함수가 호출됩니다 여기서 async와 await를 사용하여 비동기 처리를 해봅시다 //as..
오버라이드는 부모 클래스에 정의된 메서드를 재정의 할 때 사용됩니다 https://cpcp127.tistory.com/63 flutter - dart문법 상속 상속은 어떤 클래스의 기능을 다른 클래스가 사용할 수 있게 하는 기법입니다. 기능을 물려주는 부모 클래스, 물려받는 클래스인 자식 클래스가 있습니다 class 자식 extends 부모 의 구조를 사용합 cpcp127.tistory.com 먼저 상속에 대해 보고 오시는걸 추천합니다 부모클래스 Idol class Idol { final String name; final int count; Idol(this.name, this.count); void sayName(){ print('저는 부모 $name입니다'); } void sayCount(){ pri..
Null safety null 관련 에러를 runTime이 아닌 edit time에 체크해서 코드가 작성될 때 null 에러가 발생할 수 없게 해 줍니다 즉 모든 변수는 null이 될 수 없고(non-nullable) null이 들어가려면 선언 시? 를 사용하여 nullable 변수로 선언한다 void main() { int ageNull; int? ageNullable; print(ageNull);//error: The non-nullable local variable 'ageNull' must be assigned before it can be used. print(ageNullable); } 이렇던?를 붙이지 않으면 위처럼 non-nullable을 사용하려면 초기화를 시켜줘야 한다 void main..