목록분류 전체보기 (214)
파파비의 블로그
rest api를 활용한 경우 서버에 우리의 api key를 함께 보내면서 로그인을 확인 받고, 거기서 토큰을 받아서 로그인이 인정되는 시간까지 하다가 뭐 또 연장하거나 등등의 절차를 우리가 직접 처리했다. 그런데 sdk를 쓰면 이미 서버와 긴밀하게 연결이 되어 있기 때문에 토큰이런거 다 필요없고 그냥 더 간단하게 할 수 있다. 사실은 sdk가 뒤에서 다 작업을 해주는데 우리는 간편하게 몇줄의 코딩으로 처리할 수 있는 것이다. 또한 rest api의 경우에는 그냥 백엔드 서버랑 통신하는거라서 아무런 연결절차도 필요없지만 파이어베이스의 경우 이미 해둔 연결작업들이 있어서, 더 간편하게 할 수 있다. 이제 코드를 살펴보자 1. 먼저 Firebase auth 패키지를 import해야 한다 https://pub..
위 코드처럼, _subminAuthForm을 레퍼런스로 AuthForm이라는 위젯에 보낸다고해보자. 우리는 그럼 늘상 AuthForm 안쪽에서는 final Fuction 메소드이름; 뭐이런식으로 해놨겠지만 실제로는 더 clear하게 선언해줄 수 있다. Fuction의 return타입이 무엇인지, 어떤 인수를 받는지 설정해둘 수 있다. 요로코롬 말이다.
1. Form > 다중 텍스트 inputfield 한번에 컨트롤이 가능하다. - child에 column 등을 통해 여러개의 TextFormField를 넣을 수 있다. 2. TextFormField에는 vaildator, onSave 등의 callback이 있다. 3. Form에는 key라는 속성이 있고, 우리는 GlobalKey 위젯을 만들어서 key에 할당한다. 4. 그리고 그 key 레퍼런스를 통해 .save(), .validate 등을 실행한다. 이런식으로 버튼을 눌렀을 때, key에서 모든 textformfield의 validator를 실행하고, 통과하면 모든 textformfield의 onSave 콜백을 실행시키게 한다. FocusScope.of(context).unfocus(); 는 눌린 위..
Firestore에 데이터는 어떻게 넣을까? 이 역시 매우 쉽다. 이렇게 설정했다. 참고로 async/await은 안해도 된다. 왜냐면 return 값으로 뭘 하는게 아니기 때문이다. 그다음 우리는 path를 설정하고 .add를 활용한다. add에는 Map(string, object)을 써서 document를 만들면된다. 참고로 document이름은 자동으로 랜덤하게 형성된다. 이름을 따로 설정하는 방법이 아마 있을 것 같기도한데, 잘은 아직 모르겠다. 이전 글을 보면 저 코드부분은 이미 스트림이 형성되어있는 곳이기 때문에, 만약 FAB가 눌리면 자동으로 스크림이 작동되어서 앱에도 그대로 반영된다. 어떻게 보면 약간 provider가 cloud에 존재하는 느낌이다. 추가적으로 firestore에 데이터가..
실제로 snapshot().listen 까지는 잘 안간다. 그 경우에 따라 다시 위젯을 빌드를 하는 경우가 매우 많은데, 그 경우에 사용하는 위젯이 있다. 바로 StreamBuilder다 Builder들을 하도 많이 만나다 보니 이름만 들어도 뭔지 알 것 같지 않나? FutuerBuilder, StreamBuilder 등등... Stream에의해 새로 build 해야할일이 생기면 알아서 listen해서 효율적으로 re build해주는 위젯이다! StreamBuilder 빌더에게 필요한 필수 파라미터 2개는 무엇일까? 당연히 스트림과 빌더 아니겠는가? 한번 자세히 코드로 살펴보자 바디 부분을 보면 StreamBuilder 임을 알 수 있다. 저기에 우리가 Stream에 의해 받는 data를 입력해주면 된다..
참고 - 규칙관련; https://firebase.google.com/docs/firestore/security/get-started#%EB%AA%A8%EB%91%90-%ED%97%88%EC%9A%A9 Cloud Firestore 보안 규칙 시작하기 | Firebase Cloud Firestore 보안 규칙을 사용하면 인프라를 관리하거나 서버 측 인증 및 승인 코드를 작성할 필요 없이 사용자를 위한 앱 개발에만 집중할 수 있습니다. 보안 규칙은 간단하지만 표현력 있는 형 firebase.google.com 파이어스토어는 컬렉션이라는 개념이 있고 document(문서)라는 개념이 있다. 컬렉션은 폴더의 개념이고, document는 하나의 data의 개념인데 특이한 점은 document안에 필드와 함께 또다..
(1)파이어베이스 서비스 콘솔에 앱 등록하기 1. 파이어베이스 프로젝트에 들어가서 앱추가를 누른다. 우측에 보일 것이다. 누르는 것에 성공하면 이렇게 ios/안드로이드/웹/유니티 를 고를 수 있는데, 우리는 안드로이드면 안드, ios면 ios 이렇게 고르면 된다. 이번 설명은 안드로이드로 진행할 것이다. 2. 안드로이드 패키지 이름 입력 참고로 , 는 선택사항이므로 굳이 안해도 된다. 유니티에서는 cmd이용해서 지문 등록하고 찾고 해서 SHA-1까지 등록해야 했는데 플러터는 그런 것이 필요없어서 매우 쉽고 간단하다. 저기 패키지 이름은 ? 버튼을 눌러보면 어디있는지 알 수 있다. gradle 파일은 앱수준과 프로젝트 수준으로 두개가 있다. 안드로이드에 app 폴더 안에 있는 gradle 파일이 앱 수준이..
1. http 패키지가 추가적으로 필요하다. 2. https://developers.google.com/maps/documentation/geocoding/start?hl=ko#reverse Get Started | Geocoding API | Google Developers Geocoding converts addresses into geographic coordinates to be placed on a map. Reverse Geocoding finds an address based on geographic coordinates or place IDs. developers.google.com 여기는 google api 문서관련인데 여기서 geocoding api를 활용할 것이다. geocoding ..