如何将firebase时间戳转换为字符串Android

发布于 2025-02-09 05:26:42 字数 3558 浏览 1 评论 0原文

保存在FirestoredAtabase中,并且我得到了这样创建的时间:

date datahorario = calendar.getInstance()。getTime()。

我正在将一些出版物 时间戳记格式,像这样:

”在此处输入图像描述”

当我尝试返回此特定字段以在应用中显示时,我会收到以下错误:

java.lang.runtimeException:无法应对对象。无法将com.google.firebase.timestamp类型的值转换为字符串(在field'datahorario'中找到)

这是我的java帖子。

package com.example.miratown;

import android.widget.ImageView;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Posts {

    String descricao, titulo, categoria, fotourl, latitude, longitude, anonimo, pais, estado, cidade, endereco, usuario, datahorario;

    public Posts(){}

    public Posts( String datahorario, String descricao, String titulo, String categoria, String fotourl, String latitude, String longitude, String anonimo, String pais, String estado, String cidade, String endereco, String usuario) {
        this.titulo = titulo;
        this.descricao = descricao;
        this.categoria = categoria;
        this.fotourl = fotourl;
        this.latitude = latitude;
        this.longitude = longitude;
        this.anonimo = anonimo;

        this.datahorario = datahorario;

        this.pais = pais;
        this.estado = estado;
        this.cidade = cidade;
        this.endereco = endereco;
        this.usuario = usuario;
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {

        this.titulo = titulo;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }


    public String getCategoria() {

        return categoria;
    }

    public String getLatitude() {
        return latitude;
    }

    public String getLongitude() {
        return longitude;
    }

    public String getAnonimo() {
        return anonimo;
    }

    public String getDatahorario() {return datahorario; }

    public String getPais() {
        return pais;
    }

    public String getEstado() {
        return estado;
    }

    public String getCidade() {
        return cidade;
    }

    public String getEndereco() {
        return endereco;
    }

    public String getUsuario() {
        return usuario;
    }





    public String getFotourl() {

        return fotourl;
    }

    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }

    public void setCategoria(String categoria) {
        this.categoria = categoria;
    }

    public void setFotourl(String fotourl) {
        this.fotourl = fotourl;
    }


    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public void setAnonimo(String anonimo) {
        this.anonimo = anonimo;
    }

    public void setDatahorario(String datahorario) { this.datahorario = datahorario; }

    public void setPais(String pais) {
        this.pais = pais;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }

    public void setCidade(String cidade) {
        this.cidade = cidade;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }
}

无法将com.google.firebase.timestamp类型的值 我的文本视图中的价值?

谢谢。

I'm saving some publications in the FireStoreDataBase and I get the time when the post is created like this:

Date datahorario = Calendar.getInstance().getTime();

This info is saved in the database in the timestamp format, like this:

enter image description here

When I try to return this specific field to display in the APP, I receive the following error:

java.lang.RuntimeException: Could not deserialize object. Failed to convert value of type com.google.firebase.Timestamp to String (found in field 'datahorario')

This is my java Posts.class:

package com.example.miratown;

import android.widget.ImageView;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Posts {

    String descricao, titulo, categoria, fotourl, latitude, longitude, anonimo, pais, estado, cidade, endereco, usuario, datahorario;

    public Posts(){}

    public Posts( String datahorario, String descricao, String titulo, String categoria, String fotourl, String latitude, String longitude, String anonimo, String pais, String estado, String cidade, String endereco, String usuario) {
        this.titulo = titulo;
        this.descricao = descricao;
        this.categoria = categoria;
        this.fotourl = fotourl;
        this.latitude = latitude;
        this.longitude = longitude;
        this.anonimo = anonimo;

        this.datahorario = datahorario;

        this.pais = pais;
        this.estado = estado;
        this.cidade = cidade;
        this.endereco = endereco;
        this.usuario = usuario;
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {

        this.titulo = titulo;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }


    public String getCategoria() {

        return categoria;
    }

    public String getLatitude() {
        return latitude;
    }

    public String getLongitude() {
        return longitude;
    }

    public String getAnonimo() {
        return anonimo;
    }

    public String getDatahorario() {return datahorario; }

    public String getPais() {
        return pais;
    }

    public String getEstado() {
        return estado;
    }

    public String getCidade() {
        return cidade;
    }

    public String getEndereco() {
        return endereco;
    }

    public String getUsuario() {
        return usuario;
    }





    public String getFotourl() {

        return fotourl;
    }

    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }

    public void setCategoria(String categoria) {
        this.categoria = categoria;
    }

    public void setFotourl(String fotourl) {
        this.fotourl = fotourl;
    }


    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public void setAnonimo(String anonimo) {
        this.anonimo = anonimo;
    }

    public void setDatahorario(String datahorario) { this.datahorario = datahorario; }

    public void setPais(String pais) {
        this.pais = pais;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }

    public void setCidade(String cidade) {
        this.cidade = cidade;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }
}

How is the correct way to convert the TimeStamp value receveid from FireBase to a String before presenting the value in my TextView?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

尽揽少女心 2025-02-16 05:26:42

正如错误消息所说:

无法应对对象。无法将com.google.firebase.timestamp类型的值转换为字符串(在field'datahorario'中找到)

因此firebase sdk无法从数据库中timestamp值从数据库中进行估算为字符串datahorario您在课堂中拥有的字段。

您应该将datahorario字段声明为Java date或Firestore特定的TIMESTAMP

As the error message says:

Could not deserialize object. Failed to convert value of type com.google.firebase.Timestamp to String (found in field 'datahorario')

So the Firebase SDK is not able to deserialize the Timestamp value from the database into the string datahorario field that you have in your class.

You should declare the datahorario field as either a Java Date or a Firestore-specific Timestamp.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文