を使用することができます。setValue()
と同じ方法で任意の(Firebaseに優しい)オブジェクトのマップを使用できますか?以下では正常に動作します:Android SDKを使用したJSONプリミティブではなく、Firebase updateChildren()を使用して
setValue()
内のオブジェクトを使用した自動データ構造(のためのゲッターとの単純なデータホルダークラスがしかし
Firebase documentation for setValue()
に示されている
public void addReview(FbReview review, AddCallback callback) {
Firebase root = mDataRoot.child(REVIEWS_ROOT).child(review.getReviewId());
root.setValue(review, newAddListener(review, callback));
}
Webページからの同等updateChildren()
フォローオン例:私は解析できない定義したFbReviewオブジェクトを示唆してエラーが出る
@Override
public void addReview(FbReview review, AddCallback callback) {
Map<String, Object> updates = new HashMap<>();
updates.put(REVIEWS_ROOT + "/" + review.getReviewId(), review);
mDataRoot.updateChildren(updates, newAddListener(review, callback));
}
:
FirebaseException:私は上記の
updateChildren()
のコードを試してみたが文字列(review.getSubject()
が言う)のではなくオブジェクトを渡すと、それはdoesnのを解析し、そのオブジェクトを示唆して正常に動作します
FbReview
...クラスにノードの解析に失敗しましたupdateChildren()
で作業してください。
これは間違いありませんか?
大感謝を!ちなみに、オブジェクトを受け入れるようにupdateChildren()をオーバーロードして、ObjectMapperを最初の行として配置しないのはなぜですか? – chdryra
GoogleからFirebase 9.xに使用するマッパーに関する最新の推奨事項はありますか?私は彼らがもはやジャクソンを使用しないと信じています。 –
SDバージョン9.6では、POJOを 'updateChildren()'に渡すことができます。しかし、あなたが望むなら、あなたはまだジャクソンを自分で使うことができます。 http://stackoverflow.com/questions/37547399/how-to-deserialise-a-subclass-in-firebase-using-getvaluesubclass-class/37548330#37548330を参照してください。 –