본문 바로가기

Flutter41

[플러터와 파이어베이스] 데이터 쿼리 정리(WHERE 문) 이번 포스팅에서는 1인 개발자에게 필수적인 파이어베이스 서비스 중 fireStore의 공식문서를 보고 공부한 내용을 이번 기회에 정리해보고자 작성해 보았습니다. 특히 데이터를 불러오는 방법이 중요하다 느껴 관계형 DB로 치면 WHERE문(arrayContrainsAny, arrayContains, whereIn)을 파이어베이스에서 어떻게 사용하는지 정리해 보겠습니다. 기본 이해 플러터로 백엔드 서버와 데이터를 주고받는 방식에 대해 일단 작성해보겠습니다. 플러터(Dart) 뿐아니라 다른 모든 언어도 다음과 같은 방식으로 서버와 데이터를 주고받고 있을 겁니다. 플러터에서 파이어베이스로 데이터 전달 데이터를 하나의 객체에 담는다. 데이터를 Json 형태로 변환한다. 서버(firebase)에 데이터를 보낸다. .. 플러터관련 정보/파이어 베이스(플러터) 2023. 2. 25.
[플러터3.0, 파이어베이스] 파이어 베이스 폰 인증 하기 firebase에는 여러가지 기능들이 있는데 이번에는 전화번호인증(Phone Authentication) 하는 법에 대해 알아보도록 하겠습니다. 참고사이트 https://console.firebase.google.com/ https://firebase.google.com/docs/flutter/setup https://firebase.google.com/docs/auth/flutter/phone-auth?hl=ko 필요한 패키지 firebase_core: ^1.20.1 firebase_auth: ^3.6.3 기초 작업 패키지를 설치한다 파이어베이스에 프로젝트를 만든다. 프로젝트와 파이어베이스를 연결한다. 여기 까지의 과정은 아래 링크에 나와 있으니 참조하시기 바랍니다. 2022.07.03 - 플러터와 파.. 플러터관련 정보/파이어 베이스(플러터) 2022. 8. 15.
[flutter] 코딩파파 당근마켓 클론 코딩 강좌 공부 - Beamer에서 Go_Router로 전환 Beamer Stackoverflow 에러 발생 코딩파파 당근마켓 클론코딩을 공부하다 보면 대부분의 사람들이 막히는 부분이 있습니다. 바로 beamer를 사용하는 부분일것입니다. 1.2버전까지는 코딩파파님의 강의대로 하면 되지만 이후 버전에서는 아마 오류가 나면서 이 문제로 코딩파파 슬랙에 비슷한 문제로 고민하고 계신분들이 많습니다. 그러던 중 코딩파파님께서 go_router라는 패키지를 소개 해주셨고 바로 당근마켓 클론 코딩을 beamer에서 go_router로 성공적으로 전환하였습니다. 이전에 간단한 코드로 go_router를 소개한 글이 있으니 참조하시기 바랍니다. 2023.3.23일 기준 go_router 최신 버전을 반영한 포스팅입니다. 2023.03.23 - [Flutter] - go_rout.. 플러터관련 정보/플러터-안드로이드 개발 2022. 8. 14.
[flutter, shared_preferences] No implementation found for method getAll on channel plugins.flutter.io/shared_preferences_android 에러 해결법 shared_preferences 에러 해결법 Unhandled Exception: MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences_android) 이런 에러가 발생하면 앱을 핫리로드를 사용해서 일수도 있습니다. 앱을 완전히 정지한 뒤 다시 빌드하면 에러가 발생하지 않습니다. 플러터관련 정보/플러터-안드로이드 개발 2022. 8. 5.
[flutter,beamer] beamer 대신 go_router로 guard pages 구현 1. beamer 1.3 이후 버전 사용시 stackoverflow 에러발생 아마도 이 에러가 나시는 분은 1.3 이상의 최신 beamer를 사용하시면서 beamGuard의 showpage를 사용하시는 분일거 같습니다. flutter에는 navigator 2.0을 쉽게 구현할 수 있도록 beamer라는 라이브러리가 있는데 이 최신 버전의 beamer 사용하시는 분들이 BeamGuard와 showpage를 사용하면 stackoverflow 에러 메시지를 만나실 것입니다. 그래서 beamer 제작자 분께 직접 문의를 드려서 이렇게 하면 된다고 답변도 받았는데 간단한 코드가 더 어려워 져서 결국 beamer사용은 잠시 접어두고 go_router로 전환해보려고 합니다. 2. go_router로 BeamGuard.. 플러터관련 정보/플러터-안드로이드 개발 2022. 7. 28.
플러터와 파이어베이스 1탄 - 플러터 3.0 업데이트 후 파이어베이스(firebase) 연동(1) flutter 파이어베이스 데이터 가져오기 리부트 파이어베이스는 1인 개발자라면 반드시 익혀야 하는 하나의 스킬이라고 생각합니다. 누구나 쉽게 데이터를 가져오고 저장하는 기능을 구현할 수 있기 때문에 복잡한 백엔드 서버를 만들 필요가 없기 때문이죠. 그래서 1인 개발은 거의 파이어베이스로 앱을 만든다고 해도 과연이 아닐것입니다. 게다가 플러터 3.0 부터 파이어베이스가 정식 지원 하기 때문에 더 반가운데요. 이전에도 한번 파이어베이스로 데이터를 저장하고 가져오고 하는 것을 했는데 다시한번 정리하는 시간을 가져 보았습니다. Flutter 3.0은 파이어베이스가 정식 지원 플러터 3.0 업데이트 후 저에게 가장 크게 와닿는 변화는 firebase가 정식 지원을 한다는 점입니다. 이제 flutterfire사이.. 플러터관련 정보/파이어 베이스(플러터) 2022. 7. 3.
플러터와 파이어베이스 4탄 - 파이어스토어에 데이터 수정하기(UPDATE), 데이터 삭제하기(Delete) Flutter & FireBase(FireStore) 데이터 수정하기, 삭제하기 편 대망에 파이어스토어 CRUD편의 마지막입니다. 저장하기, 읽어오기, 수정하기, 삭제하기가 데이터베이스를 처음 접했을때 지겹게 듣고 실습했던 내용인데 이렇게 다시한면 파이어스토어에 CRUD를 복습해보는 경험을 했습니다. 아마도몸이 익을때 까지 한 백번은 실습을 해야할텐데 그때마다 처음 시작하는 마음으로 자료를 찾아보는것이 어렵기 때문에 이렇게 시리즈로 한번 만들어 보았습니다. 우선 가장 쉬운 삭제하기 DocumentReference에 delete() 메소드를 사용하면 간단하게 삭제 기능을 구현할수 있습니다. //DELETE Future deleteMemo(DocumentReference reference) async { a.. 플러터관련 정보/파이어 베이스(플러터) 2022. 6. 19.
플러터와 파이어베이스 3탄 - 파이어 베이스 데이터 가져오기(READ)-DocumentReference란?? CollectionReference 플러터로 파이어 베이스 데이터 가져오기(READ) 1탄과 2탄에 이어 이번에는 파이어베이스(파이어스토어)에 저장된 데이터를 불러오는 방법에 대해 알아보겠습니다. 우선 기본 용어와 흐름 부터 정리해보도록 하겠습니다. 파이어베이스로 데이터 읽어오기에 필요한 용어, 지식 정리 DocumentReference란?? 다큐먼트의 위치를 나타내며, 이것을 이용해서 저장하기, 읽어오기, 삭제, 수정의 기능을 할수 있습니다. CollectionReference 란?? - CollectionReference.doc(path)를 이용해 특정 다큐먼트를 가지고 오고 이 메소드의 결과는 DocumentReference 형태로 반환됩니다. - CollectionReference.add(data)를 이용해 data를 저장할수 있습.. 플러터관련 정보/파이어 베이스(플러터) 2022. 6. 17.
플러터와 파이어베이스 2탄- 파이어스토어에 자료 저장하기(create)-(2) 이전편에서 편리하게 데이터를 가공하기위한 자료형을 만들었습니다. 이번에는 파이어베이스 공식 문서를 보고 데이터를 파이어스토어에 저장하는 코드를 작성해보도록 하겠습니다. 이 포스팅은 코딩파파님의 강의를 듣고 다시 한번 복습하는 의미에서 작성된 포스팅입니다. 이전편: https://jh-industry.tistory.com/65 파이어베이스 공식문서: https://firebase.google.com/docs/firestore CRUD 구현을 위한 클래스 만들기- Create 부분만 이전에 set을 이용해서 데이터를 저장하는 코딩파파님의 방식에서 공식 문서에 간단하게 설명하고 있는 add 방식으로 해보겠습니다. 파이어베이스에 저장하는 클래스 구현 앞으로 이 FireService클래스 안에 CRUD를 모두 구.. 플러터관련 정보/파이어 베이스(플러터) 2022. 6. 16.
플러터와 파이어베이스 2탄- 파이어스토어에 자료 저장하기(create)-(1) 플러터와 파이어베이스 2탄 파이어 스토어에 저장하기 편입니다. CRUD 중 Create에 해당하는 내용인데요. 파이어베이스 초기 설정을 하지 않으신 분은 아래 링크로 가셔서 파이어 베이스와 플러터 프로젝트를 연결해 주시기 바랍니다. https://jh-industry.tistory.com/61 플러터와 파이어베이스 1탄- 플러터 3.0 업데이트 후 파이어베이스(firebase) 설정법(2) 이전 포스팅 플러터와 파이어베이스 1탄 - 플러터 3.0 업데이트 후 파이어베이스(firebase) 설정법(1) Flutter 3.0은 파이어베이스가 정식 지원 플러터 3.0 업데이트 후 저에게 가장 크게 와닿는 변화는 f jh-industry.tistory.com 제가 전에 만든 파이어 스토어 관련 포스팅입니다. 여.. 플러터관련 정보/파이어 베이스(플러터) 2022. 6. 14.
[flutter, 안드로이드 스튜디오] setState가 자동으로 안뜸 - 임시해결법(라이브 템플릿) 갑자기 안드로이드 스튜디오에서 setState가 자동으로 안뜬다?? 플러터 업데이트, 다트, 플러터 플러그인, 안드로이드 스튜디오 이중에 어떤게 문제 인지 알수 없지만 갑자기 잘 나오던 setState 자동완성이 되지 않는 문제가 발생하였습니다. 그래서 스택 오버플로우 검색 해보았습니다. https://stackoverflow.com/questions/72536630/flutter-setstate-isnt-triggered-in-android-studio Flutter setState isn't triggered in Android studio I'm absolutely new to programming and Flutter as well, so sorry for my silly question but .. 플러터관련 정보/플러터-안드로이드 개발 2022. 6. 12.
플러터와 파이어베이스 1탄- 플러터 3.0 업데이트 후 파이어베이스(firebase) 연동(2) 이전 포스팅 플러터와 파이어베이스 1탄 - 플러터 3.0 업데이트 후 파이어베이스(firebase) 설정법(1) Flutter 3.0은 파이어베이스가 정식 지원 플러터 3.0 업데이트 후 저에게 가장 크게 와닿는 변화는 firebase가 정식 지원을 한다는 점입니다. 이제 flutterfire사이트가 아닌 파이어베이스 공식문서에 플 jh-industry.tistory.com 시작하며... 이전에 명령어를 통해 플러터 프로젝트를 파이어베이스와 연결하는 작업을 하였습니다. 이제는 플러터 프로젝트 내에서 패키지를 설치하여 사용만 하면 됩니다. 1. 필요한 패키지 설치 flutter에서 firebase를 사용하기 위해서는 아래 파이어베이스 코어 패키지가 필요합니다. 플러터 프로젝트에 파이어베이스코어를 설치합니다.. 플러터관련 정보/파이어 베이스(플러터) 2022. 6. 7.
[flutter,firestore] 파이어 스토어 필터링 후 정렬하기 - 복합색인, 태그검색 기능 구현 파이어베이스는 NoSQL 엑셀에 익숙한 저는 처음 파이어 베이스의 파이어 스토어를 사용했을 때 이건 머지?? 라는 생각을 했습니다. 파이어 베이스는 NoSQL방식으로 비전문가, 취미 개발자 입장인 저에게는 Json 또는 딕셔너리와 그냥 똑같다고 느껴졌습니다. 많이 없는 예제 자료들 SQL 자료는 이미 구글에 검색하면 수없이 나오지만 파이어베이스에 대한 자료는 거의 한글로 된 문서는 없고, 영어로 된 문서가 대부분입니다. 이점은 저한테 취미개발자에게는 취약한 부분일 수 밖에 없고, 또 겨우 겨우 알았다고 해서 머리 속에 오래 남지 않습니다. 그래서 저의 시행착오를 이 티스토리에 혹시나 미래의 저 혹은 저와 같은 문제를 가지고 계신 분들을 위해 기록을 남기고자 합니다. MySQL로는 할수 있을거 같은데 파이.. 플러터관련 정보/파이어 베이스(플러터) 2022. 6. 6.
[Flutter, firebase]파이어 스토어에서 데이터 저장하고 불러오기 flutter 파이어베이스 데이터 가져오기 순서 파이어베이스에 프로젝트를 생성한다. dart package 설치 cloud_firestore firebase_core 프로젝트와 파이어베이스를 연결한다. flutterfire configure 명령어를 실행(저는 CLI를 이용하였습니다. ) 파이어 베이스 초기화 파이어 스토어 데이터 베이스 만들고 규칙 설정한다. 파이어 스토어에 CRUD 기능을 구현할 클래스를 만든다. 데이터를 객체로 만든다. 불러올때는 fromJson 사용 저장할때 tojson 함수 사용 CRUD를 처리할 클래스를 만든다. 파이어베이스(파이어스토어) 기본 개념들 Collection Table이랑 비슷한 개념이다. Document Row, Record와 같이 하나의 데이터 최소 단위 Doc.. 플러터관련 정보/파이어 베이스(플러터) 2022. 4. 13.
[flutter, firebase] 핵심만 콕콕!! 플러터와 파이어베이스 세팅하기 with Firebase CLI 사용 Firebase CLI를 사용하면 쉽게 플러터 앱과 파이어 베이스를 연결 할 수 있습니다. 기존 여러 강의에서는 수동으로 설정하는 방법은 많이 소개하는데 Firebase CLI를 이용하여 연결하는 방법을 별로 없더군요. 사실 공식 문서를 보면 쉽게 할수 있지만 복습하는 의미에서 한번 써보도록 하겠습니다. 참조한 사이트를 Firebase CLI 사이트: https://firebase.google.com/docs/cli Firebase CLI 참조 | Firebase Documentation Firebase.Installations firebase.google.com 플러터와 파이어베이스에 관한 사이트 : https://firebase.flutter.dev/docs/overview/ FlutterFire O.. 플러터관련 정보/파이어 베이스(플러터) 2022. 3. 21.
[Flutter]drift로 todo list 만들기 예제 - 2탄(with drift, SQLite) Flutter로 todo list 만들기 1탄에 이어 2탄도 이어 가겠습니다. 1탄을 못보신 분은 아래 링크로 가시면 됩니다. https://jh-industry.tistory.com/52 [Flutter] todo list 만들기 예제 - 1탄(with drift, SQLite) 시작하면서... 이전에 Moor를 이용한 SQLite CR 포스팅을 한적이 있습니다. 이후 Update와 Delete 부분에 대한 포스팅을 한다고 했는데 아직까지 못했네요 지금은 Moor가 drift로 이름이 바뀐거 같더군요 jh-industry.tistory.com 완성된 화면 어플 구현 영상 main.dart 아래 전체 코드에는 드리프트(drift) 사용법과는 관계 없는 코드도 있습니다만 우선 전체적인 부분적인 코드를 발췌.. 플러터관련 정보/플러터-안드로이드 개발 2022. 3. 5.
[Flutter] drift로 todo list 만들기 예제 - 1탄(with drift, SQLite) 시작하면서... 이전에 Moor를 이용한 SQLite 사용법 포스팅을 한적이 있습니다. 이후 Update와 Delete 부분에 대한 포스팅을 한다고 했는데 아직까지 못했네요 지금은 Moor가 drift로 이름이 바뀐거 같더군요 이번에는 드리프트를 이용해서 간단한 할일리스트(to do list)를 만드는 예제를 만들어 보겠습니다. 이전 포스팅 Flutter, Moor(SQLite ORM)을 사용한 CRUD 정리 - 1편 Create, Read - Flutter moor example, Dart ORM, Flutter database tool 외부 서버 등의 저장공간을 사용하지 않고 손쉽게(?) 휴대폰 내부 저장공간에 사용 할 수 있는 로컬 DB은 SQLite를 ORM 형식으로 사용할수 있게 해주는 Moor.. 플러터관련 정보/플러터-안드로이드 개발 2022. 3. 4.
[1인 앱 개발] 1인 개발자 Google Ads 광고 12000원써서 로또 어플 홍보 후기 로또 어플 사용자가 늘지 않아 고민이 늘어가던 때.... 블로그 홍보, 인스타그램 홍보도 해보았지만 제가 그렇게 바이럴이 쎈 사람도 아니여서 블로그, 인스타를 통한 홍보효과가 미미했습니다. 그렇게 저는 매일매일 사용자가 늘지 않아 고민이었습니다. Google Ads 광고나 해볼까?? 고민하던차 다른 1인 개발자 글을 보니 전단지라도 돌려라 라는 말을 듣고 호기심 삼아 Google Ads 광고로 제가 만든 로또 어플을 홍보해 보았습니다. 일단 16,000원 써보자 수동결제로 진행하였고, 최소 결제 단위는 16,000원이어서 일단 16,000원 결제해보았습니다. 그 결과... 나름 대 성공?!! 결과는 제 상상 이상이었습니다. 16,000원 중 약 12,000원 정도 쓴 결과 였습니다. 이것도 파고 들면 많.. 후기/내가 직접 경험한 후기 2022. 1. 2.
[Flutter , Dart 언어] 코딩하다 생각 안날 때 잠깐씩 보는 Cheat Sheet -Provider 기본적인 사용법 상태 관리를 위한 Provider에 대한 자세한 설명보다는 이미 알고 있는데 잠깐씩 사용법이 생각 안날때 보는 치트시트입니다. 만든 예제는 BottomNavigationBar를 이용하여 화면을 바꾸는 예제입니다. 프로바이더를 사용하실려고 하는데 어떻게 시작하지 기억 안나실때 보시면 됩니다. 최종 결과물 만드는 순서 1. 프로바이더 설치 2. ChangeNotifier 상속 받는 클래스 생성 - 변화를 감지를 위해 notifyListeners(); 사용 해야 됨 3. 기본 UI 생성 4. Provider 사용할 상위 위젯에 MultiProvider로 감싼다 - MultiProvider( providers: [ ChangeNotifierProvider(create: (context) => btmNavProv.. 플러터관련 정보/플러터-안드로이드 개발 2021. 10. 2.
[Flutter, Dart 언어] 안드로이드 개발을 위한 첫걸음 Dart 문법 정리-1편class 생성자(Constructor) 사용법 플러터 개발 공부를 시작하며 안드로이드 개발을 위해서는 선택지가 자바, 코틀린이 있고 구글에서 개발은 Dart라는 언어로 만들어진 flutter를 이용한 방법이 있습니다. 플러터는 크로스 플랫폼으로 안드로이드와 iOS를 동시에 개발할수 있는 장점이 있습니다. 아직 널리 퍼지지 않아 관련 책이나 자료를 찾을 수 없다는 단점은 있지만요. 그리고 저는 이미 플러터를 통해 간단한 안드로이드 어플을 만들어 출시하였지만 하지만 기본 문법에 대한 지식이 부족하여 다른사람의 코드를 읽는데 어려움이 있어 여러 책을 찾아 보던 중 '모두가 할수 있는 플러터 UI입문'이라는 책을 보고 이미 알고 있는 다트언어의 문법은 제외한 객체지향 부분에 대해 공부하고 정리해 보았습니다. '모두가 할수 있는 플러터 UI입문' 이라는 책은.. 플러터관련 정보/플러터-안드로이드 개발 2021. 9. 29.