相关疑难解决方法(0)

在Firebase中制作POJO时,可以使用ServerValue.TIMESTAMP吗?

当您创建一个简单的旧Java对象,该对象旨在从Firebase序列化和反序列化时,有没有办法使用该ServerValue.TIMESTAMP值?

例如,假设我想要一个对象,其中一个属性是最后一次编辑,并且您想要使用该ServerValue.TIMESTAMP值.

在POJO类中,您可能具有:

private String timeLastChanged;
Run Code Online (Sandbox Code Playgroud)

要么

private Map<String, String> timeLastChanged;
Run Code Online (Sandbox Code Playgroud)

在第一个例子中String,我遇到了设置问题timeLastChange = ServerValue.TIMESTAMP;,因为ServerValue.TIMESTAMP是Map.

在第二个例子中,Map<String, String>我得到了一个"未能去抖"的错误,因为它无法正确地将数据库中存储的long反序列化为一个Map<String, String>.这有什么工作吗?

android firebase firebase-realtime-database

23
推荐指数
4
解决办法
1万
查看次数

Android聊天在DataSnapshot.getValue()上崩溃,以获取时间戳

我正在尝试修改Firebase的Android聊天示例以包含Firebase时间戳值.我可以使用时间戳发送,ServerValue.TIMESTAMP;但是当Firebase尝试显示消息时,应用程序崩溃了.编辑:下面的完整错误输出

发送我使用的消息

private void sendMessage() {
    EditText inputText = (EditText)findViewById(R.id.messageInput);
    String input = inputText.getText().toString();
    Map timestamp = ServerValue.TIMESTAMP;

    if (!input.equals("")) {
        // Create our 'model', a Chat object
        Chat chat = new Chat(name, input, timestamp, userID);
        // Create a new, auto-generated child of that chat location, and save our chat data there
        chatRef.push().setValue(chat);
        inputText.setText("");
    }
}
Run Code Online (Sandbox Code Playgroud)

伪造的结构是这样的:

->Messenger
  |--> room
      |--> messages
        |--> messageID
          |--> from: "Name"
          |--> text: "Message"
          |--> timestamp: xxxxxxxxxxxxx
          |--> userID: "id"
Run Code Online (Sandbox Code Playgroud)

和Chat.java

public …
Run Code Online (Sandbox Code Playgroud)

java android firebase

2
推荐指数
2
解决办法
6517
查看次数