일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- flutter
- StatefulWidget
- firebase
- 회원가입
- Cocoa touch Framework
- dart
- GetX
- swift
- 1과목
- 상태관리
- Null Safety
- 이메일
- Kotlin
- go_router
- setState
- 정보처리기사
- Provider
- 안드로이드
- 변수
- 함수
- 안드로이드 스튜디오
- Android
- UserAccountsDrawerHeader
- auth
- 로그인
- BottomNavigationBar
- non-nullable
- firebase_auth
- IOS
- java
- Today
- Total
목록flutter (25)
앱 개발 공부방

https://cpcp127.tistory.com/73 flutter - firebaseAuth로 email 회원가입, 로그인 하기 firebase에서 회원가입 로그인을 사용하려면 아래의 Authentication으로 들어가 준다 들어가서 시작하기를 눌러주고 이메일을 사용할 거니까 제공업체에서 이메일/비밀번호를 선택한다 이렇게 한 뒤 cpcp127.tistory.com 전 글에서 회원가입 로그인을 만들어봤는데 회원가입 할 때 사용한 이메일로 인증 이메일을 보내고 로그인할 때 인증 여부에 따라 로그인이 되냐 안되냐를 해보겠다 //회원가입 로직 FirebaseAuth.instance .createUserWithEmailAndPassword( email: emailController.text, password..

firebase에서 회원가입 로그인을 사용하려면 아래의 Authentication으로 들어가 준다 들어가서 시작하기를 눌러주고 이메일을 사용할 거니까 제공업체에서 이메일/비밀번호를 선택한다 이렇게 한 뒤 저장 firebase auth를 사용하기 위해 firebase_auth 패키지를 설치해 준다 https://pub.dev/packages/firebase_auth firebase_auth | Flutter package Flutter plugin for Firebase Auth, enabling authentication using passwords, phone numbers and identity providers like Google, Facebook and Twitter. pub.dev flutte..

먼저 flutter 프로젝트를 만들어주고 firebase 프로젝트도 만들어준다 생성을 했으면 자신의 os의 맞게 firebase cli를 사용할 수 있게 설치한다 curl -sL https://firebase.tools | bash 이 코드를 터미널에서 치면 설치가 자동으로 될것이다 여기서 로그인을 필요로 하면 자신이 firebase 프로젝트를 만든 계정으로 로그인을 해주면 된다 그런 다음 프로젝트로 돌아와서 잘 설치되었는지 firebase -V를 통해 버전을 확인해 보면 아래처럼 확인이 된다면 설치가 완료된 것이다 설치가 되면 터미널에 가서 환경변수부터 등록을 해주자 아래처럼 환경변수 편집기로 들어가서 환경변수를 등록해 주자 vi ~/.zshrc export PATH="$PATH":"$HOME/.pub..

먼저 원하는 폰트부터 다운로드한다 본인은 아래에서 찾아서 사용했습니다 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..