[{PageViewPlugin}]
[Firebase], [Cloud Functions]
!!!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]。とりあえず文字列にすることで解決
[{Image src='Firestore/firestore.jpg' width='500'}]
*サーバ側のデータがアップデートされたら、イベントを起こしたい。
|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]