2016-12-29 66 views
0

我无法使用以下查询从聊天表中检索数据,有人可以请看一下。感谢无法从Firebase表中获取最后一条记录

聊天表格式

chat 
GWyC4hqk9oRB3UxXbCV8IdqDT8M2-YazXdhCCTeF7KRQNKq2duS9qF3 
-K_89zEV7TLoeatnAToj 
action:"" 
imagePath:"" 
sender:"YazXdhCCTeF7KRQNKq2duS9qF3" 
text:"Hi" 

-K_8EmH2cB53KoW5qoX9 
action: "" 
imagePath: "" 
sender: "YazXdhCCTeF7KRQNKq2duS9qF3" 
text: "hi" 

查询代码

mRef = new Firebase("https://moe-90cc7.firebaseio.com/chat"); 
     Query limitQuery = mRef.child(chatRoom).limitToLast(1); 
     limitQuery.addListenerForSingleValueEvent(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       final Message message = dataSnapshot.getValue(Message.class); 
       textView.setText(message.getText()); 

      } 

      @Override 
      public void onCancelled(FirebaseError firebaseError) { 

      } 
     }); 

错误

Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "-K_8LQn9qhg2T-dmMmBD" (class app.chat.Message), not marked as ignorable (4 known properties: , "imagePath", "sender", "text", "action"]) 
                    at [Source: [email protected]; line: 1, column: 26] (through reference chain: app.core.chat.Message["-K_8LQn9qhg2T-dmMmBD"]) 

回答

2

看来你接收到的数据不匹配Message类成员。例外情况告诉你,名为-K_8LQn9qhg2T-dmMmBD的成员预计在Message类中,而它似乎是成员的价值。

尝试在调试模式下显示dataSnapshot的内容以更好地理解问题。

+0

这的确是原因。 @ user7327850:对于处理映射的更多帮助,请阅读我的问题解答:http://stackoverflow.com/questions/32108969/why-do-i-get-failed-to-bounce-to-type-when-i-开启JSON-从-火力点,到Java的 –

相关问题