Abstract#
FirebaseのFirestoreというデータベースを使ってみました。 |
Topics#
Realtime Database? Firestore?#
進化したようだ。進化したのがFirestore[1]。だからFirestoreを使おう。 |
Quick Start#
- Quick Start android
quickstart-android-masterフォルダにfirestoreフォルダがあり、Android Studioで開く。 |
いつものToolsのFirebaseメニューのAsistantでConnect、Dependencies set upをして、 |
Firebase Consoleで、メール認証をOKにすると、Friendly Eatsというアプリが立ち上がる。 |
Restaurant情報がFirestoreにアップされる。 |
MainActivityのonAddItemsClicked()の当たりが参考になる。 |
- Quickstart web
[6]に従って進めると、できる。 |
やりたいこと#
- サーバにAndroidから位置情報をアップロードしたい。
クイックスタートの例だと、用意されているバッチを使ってセットしてコミットするとOK。 |
java.lang.RuntimeException: Found conflicting getters for name isChangingConfigurations on class
インナークラスがだめらしい[3]。ちゃんとクラスを作ると解決 |
java.lang.RuntimeException: Class java.util.GregorianCalendar has multiple setter overloads with name setGregorianChange
Calendarは使わないほうがいいみたい[4]。とりあえず文字列にすることで解決 |
- サーバ側のデータがアップデートされたら、イベントを起こしたい。
that should be Cloud Functions! |
Reference#
- [#1]1amageek, 2017年12月, Cloud Firestoreは進化したFirebase Realtime Database, https://qiita.com/1amageek/items/8179aebe871beb230194
- [#2]Google Inc, 2017, Cloud Firestore Quickstart, https://firebaseopensource.com/projects/firebase/quickstart-android/firestore/README.md
- [#3]Stackoverflow, ANDROID FirebaseDatabase: Unable to save object, https://stackoverflow.com/questions/40703001/android-firebasedatabase-unable-to-save-object
- [#4]Stackoverflow, Firebase Android - Crash with “Found a conflicting setters with name: setGregorianChange” when .setValue(), https://stackoverflow.com/questions/41917562/firebase-android-crash-with-found-a-conflicting-setters-with-name-setgregori
- [#5]Google, 2017, Cloud Firestore Quickstart, https://firebaseopensource.com/projects/firebase/quickstart-js/firestore/README.md