목록개발 (194)
파파비의 블로그
실제로 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 ..
1) 패키지 다운 https://pub.dev/packages/google_maps_flutter#-readme-tab- google_maps_flutter | Flutter Package A Flutter plugin for integrating Google Maps in iOS and Android applications. pub.dev 2) 설정 - Readme를 읽어보면 나온다. 3) 필요할 때, GoogleMap() 위젯 소환 - GoogleMap의 사이즈는 부모위젯의 사이즈에 맞춰서 자동으로 결정된다. - 따라서 만약 풀 사이즈로 하고 싶으면 새로 scaffold를 만들거나 하면 된다. 나는 일단 MapScreen을 만들어서 버튼을 누르면 화면을 튀어나오게 하고, pop할 때, 선택된 위치 d..
위치정보 이용하기 https://pub.dev/packages/location#-readme-tab- location | Flutter Package A Flutter plugin to easily handle realtime location in iOS and Android. Provides settings for optimizing performance or battery. pub.dev 해당패키지를 import하고 Location() 객체를 만든 후에 .getLocation() 을 때려주면 되고, future로 LocationData 객체를 return 한다. import만 하면 알아서 허가 등 다 업데이트되지만, ios는 dependency 관련해서 추가적인 작업을 해주어야해서, readme를 잘..
https://pub.dev/packages/sqflite 패키지를 사용한다. DB만들고 데이터 쓰기 path와 sqflite 모두 import해두었다. 먼저 insert라는 static 메소드를 구성해보았는데, static이고, future를 return하고, input 인자들은 table이름과, map으로 구성된 data이다. 생성된 테이블에, 테이블의 field값에 대응하는 값들을 map 으로 구성해서 넣으면 된다는 소리다. 이제 코드를 구체적으로 보자면, 먼저 내부를 보면 db의 경로를 가져와야하는데, 앱의 db가 내부적으로 저장될 공간이 지정되어 있으므로, sql 패키지의 getDatabasePath()를 활용하면 매우 편리하다. 그다음 db를 열어야하는데 db가 없으면 자동으로 생성된다. sq..
이전 글처럼 카메라를 사용하게 되면, 찍은 이미지는 메모리상에 올라가지 디바이스에 저장되는 것은 아니다. 만약 저장되게 하고 싶다면 특정 path에 저장을 해야하는데, unity에서는 super EASY하지만, 여긴 그렇지 않은가보다. 그래서 특수한 패키지를 2개 다운받아야한다. https://pub.dev/packages/path#-installing-tab- path | Dart Package A string-based path manipulation library. All of the path operations you know and love, with solid support for Windows, POSIX (Linux and Mac OS X), and the web. pub.dev https..