Firebaseデータベースに格納されている値を読み取ろうとしています。これは、データベースがどのように見えるかされていますFirebaseからデータを読み取っているときにUnrecognizedPropertyExceptionが発生しました
URL:今https://xxxx.firebaseio.com/Cohesion/Passes/Away/Arsenal
、Androidの側から、これは私がデータを取得しようとする方法である:
Firebase mRef = new Firebase("https://xxxx.firebaseio.com/Cohesion/Passes/Away/Arsenal");
mRef.addValueEventListener(new ValueEventListener()
{
@Override
public void onDataChange(DataSnapshot dataSnapshot)
{
Arsenal vals = dataSnapshot.getValue(Arsenal.class);
Log.e("retValue",""+vals);
}
@Override
public void onCancelled(FirebaseError firebaseError)
{
Log.e("REAL_ERROR",""+firebaseError);
}
});
アーセナル。クラス
public class Arsenal {
private int Cross;
private int LongBall;
private int ShortPass;
private int ThroughBall;
public Arsenal()
{
}
public Arsenal(int Cross,int LongBall,int ShortPass,int ThroughBall)
{
this.Cross = Cross;
this.LongBall = LongBall;
this.ShortPass = ShortPass;
this.ThroughBall = ThroughBall;
}
public int getCross() {
return Cross;
}
public int getLongBall() {
return LongBall;
}
public int getShortPass() {
return ShortPass;
}
public int getThroughBall() {
return ThroughBall;
}
}
私はtrue
にコンソールのRules
を設定しましたので、それは一般に読み書きするためにアクセスできるので、認証を使わずにアクセスしています。ここ
はLogcatである:
9月19日12:14:51.032 13585から13585/com.ihrd.myapplication E/AndroidRuntime:致命的な例外:メイン プロセス:com.ihrd.myapplication、 PID:13585 テーマ:テーマ:{} com.firebase.client.FirebaseExceptionは: com.ihrd.myapplicationでcom.firebase.client.DataSnapshot.getValue(DataSnapshot.java:185)で を入力するバウンスに失敗しました。 .MainActivity $ 1.onDataChange(MainActivity.java:28)com.firebase.client.core.view.DataEvent.fireで でcom.firebase.client.core.ValueEventRegistration.fireEvent(ValueEventRegistration.java:53) (DataEvent.java:45) com.firebaseました。 client.core.view.EventRaiser $ 1.run(EventRaiser.java:38) (android.os.Handler.handleCallback(Handler.java:739) android.os.Handler.dispatchMessage(Handler.java:95) android.os.Looper.loop(Looper.java:148) android.app.ActivityThread.main(ActivityThread.java:5461) at java.lang.reflect.Method.invoke(ネイティブメソッド) com.fasterxml:によって引き起こさcom.android.internal.os.ZygoteInit.mainで com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) (ZygoteInit.java:616)で .jackson.databind.exc.UnrecognizedPropertyException: が無視可能(既知のプロパティ0個)であると認識されない "Cross"(クラスcom.ihrd.myapplication.Arsenal)フィールド: [Source:[email protected] ;行:1、カラム:12] (参照チェーンを介し:com.ihrd.myapplication.Arsenal [ "クロス"]) com.fasterxml.jackson.databind.DeserializationContext.reportUnknownProperty(DeserializationContext.java:555)で で で com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1160) でcom.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:708) コム.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer。ジャワ:315) でcom.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121) com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2888) でで com.ihrd.myapplication.MainActivity $ 1.onDataChangeでcom.firebase.client.DataSnapshot.getValue(DataSnapshot.java:183) で com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2034) (MainActivity.java:28) at com.firebase.client.core.ValueEventRegistration.fireEvent(ValueEventRegistration.java:53) at com.firebase.client.core.view.DataEvent.fire(DataEvent.java:45) ( )com.firebase.client.core.view.EventRaiser $ 1.run(EventRaiser.java:38) at android。 os.Handler.handleCallback(Handler.java:739) (andler.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) android.appにあります。 ActivityThread.main java.lang.reflect.Method.invokeで(ActivityThread.java:5461) (ネイティブメソッド) でcom.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) でコマndroid.internal.os.ZygoteInit.main(ZygoteInit.java:616)
これはおそらく原因ですか?そして修正する方法は?親切に助けてください。
チェックここ:
Firebase 3.xでは、対応する注釈は
PropertyName
です:http://stackoverflow.com/questions/32108969/why-do-i-get-failed-to-bounce-to-type-when-i-turn-json-from-firebase-into-javaおそらく最も良い説明私はこれを見てきました。 – RamithDR