Flutter 41

[Flutter] Firebase 회원 인증기능

Firebase 회원 인증기능 Firebase Console → 빌드 → Authentication 우선 간단하게 이메일/비밀번호를 택하여 인증기능 구현하기 이후 shop 페이지에서 인증시 접근 가능하도록 하기 셋팅 // shop.dart // firebase_auth (인증) import 'package:firebase_auth/firebase_auth.dart'; final auth = FirebaseAuth.instance; 회원가입 하기 signUp() async{ try { var result = await auth.createUserWithEmailAndPassword( email: 'email', password: 'password' ); print(result.user); } catch (..

Flutter 2023.08.16

[Flutter] Firebase에 데이터 저장 & 조회 & 삭제 & 수정

FireStore에 데이터 저장 & 조회 & 삭제 & 수정 Firebase를 사용하면 2개의 데이터베이스가 있다 Realtime DataBase Cloud Firestore 해당 강의에서는 비교적 최근에 나온 Cloud Firestore를 사용할 예정 Cloud Firestore는 MongoDB 처럼 NoSQL로 비정형 데이터를 저장할 수 있다. 사용하기 Firebase에서 만든 프로젝트 클릭 빌드 → Firestore Database → 데이터베이스 만들기 → 프로덕션 모드에서 시작 → asia-northeast3 (Seoul) 컬렉션 시작으로 Collection 생성 여기서 잠시 Collection과 Document 에 대해 알아보자! Collection 안에 document 형태로 데이터 저장 Co..

Flutter 2023.08.15

[Flutter] Firebase 셋팅 (다수 에러 해결 과정)

Firebase 셋팅 (다수 에러 해결 과정) 설치하기 pubspec.yaml dependencies: flutter: sdk: flutter http: ^0.13.4 image_picker: ^0.8.4+4 shared_preferences: ^2.0.11 provider: ^6.0.1 flutter_local_notifications: ^9.1.5 # firebase firebase_core: ^1.10.6 firebase_auth: ^3.3.4 cloud_firestore: ^3.1.5 firebase console 검색 → 프로젝트 생성 IOS 앱 추가 앱 등록 Apple 번들: android → app → build.gradle 파일의 하단에 defaultConfig 부분에 application..

Flutter 2023.08.15

[Flutter] 특정 시간 알림 & 주기적인 알림 띄우기

특정 시간 알림 & 주기적인 알림 띄우기 우선 설치해야하는 패키지가 있다. 만약 이전에 local_notification을 설치했다면 패키지 설치는 생략 가능하며 아래의 코드만 가져와주기 (현재는 notification.dart에서 알림을 보내기에 여기서 작성) import 'package:timezone/data/latest_all.dart' as tz; import 'package:timezone/timezone.dart' as tz; 그리고 아래의 코드를 작성해주기 갑자기 뭐가 에러가 잔뜩 생기면서 알람도 안켜지고, 앱이 꺼지면서 뭐라뭐라 하는데 첫 번째 이유 기존에 저장해둔 아이콘이 사라져있었던게 . (사라진 이유는 모르겠음…) 두 번째 이유 아이콘이 사라지면서 기존에 셋팅했던 아이콘 이름을 변경..

Flutter 2023.08.15

[Flutter] Local notification 알림 주는 법

Local notification 알림 주는 법 모바일로 알림 보내기 우선 notification에는 2가지의 알림이 있다. 서버에서 보내는 push notification 앱 자체에서 실행하는 local notification 이번 강의는 local notification을 배울 예정 local notification 설치 방법 pubspec.yaml에서 아래의 코드 추가 후 pub get 실행해서 설치 dependencies: flutter: sdk: flutter http: ^0.13.4 image_picker: ^0.8.4+4 shared_preferences: ^2.0.11 provider: ^6.0.1 flutter_local_notifications: ^9.1.5 // Text('새로운 페이..

Flutter 2023.08.14

[Flutter] GridView, CustomScrollView 프로필 페이지 만들기

GridView, CustomScrollView 프로필 페이지 만들기 GridView 그리드를 구현하고 싶을 때 사용하면 편리한 위젯으로 몇 개를 보일지 확실하지 않은 상태라면 GridView.builder() 위젯을 사용하기 gridDelegate: 가로로 몇 개가 보일지를 체크 itemBuilder: return할 위젯 itemCount: 총 몇 개의 요소를 보일지 GridView.builder( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 3), itemBuilder: (c,i){return Container(color: Colors.grey);}, itemCount: 5, ) 다만 GridView에서 return ..

Flutter 2023.08.14

[Flutter] Store 여러개 & GET 요청 (Provider)

Store 여러개 & GET 요청 (Provider) 우선 CircleAvatar() 위젯을 사용하면 이미지를 동그랗게 생긴 형태로 넣을 수 있다. CircleAvatar( radius: 30, backgroundImage: AssetImage("경로") ) Store 여러 개 사용하는 방법 현재까지는 1개의 Store만 사용했기에 ChangeNotifierProvider() 를 사용했는데 이제는 여러 개의 Store를 사용해야 하기에 MultiProvider() 를 사용해야 한다. void main() { runApp( MultiProvider( providers: [ ChangeNotifierProvider(create: (c)=>Store1()), ChangeNotifierProvider(creat..

Flutter 2023.08.14

[Flutter] Provider 사용하기

Provider 사용하기 현재 상위 컴포넌트에 있는 State를 사용하고자 할 때 3 Step 변수 생성 변수 등록 변수 사용 Provider React의 Redux 처럼 하나의 공간에 State를 보관하여 사용 설치하기 // pubspec.yaml dependencies: flutter: sdk: flutter http: ^0.13.4 image_picker: ^0.8.4+4 shared_preferences: ^2.0.11 provider: ^6.0.1 사용하기 State보관함(Store) 만들기 ( ChangeNotifier ) class Store1 extends ChangeNotifier { var name = 'kim sky'; } 해당 State를 사용하고 싶은 위젯들을 전부 ChangeNo..

Flutter 2023.08.13

[Flutter] GestureDetector & 페이지 전환 애니메이션 (CupertinoPageRoute,PageRouteBuilder)

GestureDetector & 페이지 전환 애니메이션(CupertinoPageRoute,PageRouteBuilder) 현재는 Navigator.push()로 페이지를 전환 시킬 경우 아래에서 위로 페이지가 변경되고 있는데 전환 애니메이션을 다르게 하고 싶을 경우 우선 현재 게시글을 작성한 유저 이름을 클릭 시 상세 페이지를 띄우면서 적용해보기 그런데 Text() 에는 클릭 시에 대한 함수 실행을 할 수 없기에 GestureDetector() 위젯을 사용해서 onTap속성을 사용해 함수를 실행 시킬 수 있다. 그리고 GestureDetector() 위젯은 어디에나 사용할 수 있는데 onTap 뿐만 아니라 더블클릭을 위한 onDoubleTap 왼쪽으로 스와이프 했을 때 실행 할 함수인 onHorizont..

Flutter 2023.08.12

[Flutter] DB 없이 데이터 저장하는 방법 (Shared Preferences)

DB 없이 데이터 저장하는 방법 (Shared Preferences) 우선 데이터를 보존하는 방법으로는 몇 가지가 있는데 첫 째는 가장 기본적인 방법으로 서버로 보내서 DB에 저장하기 둘 째는 폰 메모리카드에 저장하는 방법으로 Shared Preferences 가 된다. 그래서 따로 데이터, 캐시를 삭제하지 않으면 영구 보관이 가능하다. 그래서 보통 중요한건 DB에 저장, 아니면 Shared Preferences 로 저장! Shared Preferences 설치 셋팅 pubspec.yaml에 아래의 코드 추가하기 dependencies: flutter: sdk: flutter http: ^0.13.4 image_picker: ^0.8.4+4 shared_preferences: ^2.0.11 main.da..

Flutter 2023.08.11