【问题标题】:Is it possible to save a CharSequence in Firestore?是否可以在 Firestore 中保存 CharSequence?
【发布时间】:2018-04-26 06:38:03
【问题描述】:

可以将CharSequence 变量保存到Firebase 中吗?

签出:Supported Data Types,但charsequence 不存在...

我遇到了与此相关的可序列化问题,尝试过:pro-guard 规则、公共属性、实现可序列化等;但我无法将charsequence 保存到Firebase

有人能帮我解决这个问题吗?

PS:必须是charsequence不是字符串

【问题讨论】:

    标签: android firebase google-cloud-firestore charsequence


    【解决方案1】:

    您可以使用 toString() 方法将 CharSequence 转换为字符串,从而将其保存到 Firestore。如果你从 Firestore 读回字符串,它将是一个 String 对象,它也实现了 CharSequence。您将无法通过 CharSequence 接口使用自动序列化。当您读回数据时,SDK 不会知道要为您创建哪个 CharSequence 实现。

    【讨论】:

    • 好的,我们可以说字符串是一种字符序列,但我不是这样问的,因为我正在尝试使用 SpannableString 并且我需要在 firebase 中存储一个带有它的文本标记,你明白吗?因为我需要用标记检索数据...
    • 天啊,伙计……我该怎么办? (o_O)'',当我尝试存储字符序列时出现可序列化错误 =(
    • 是的,请再次阅读我的答案。你不能那样做。先把它转成String。
    【解决方案2】:

    要将标记文本(或 CharSequence)存储在数据库(可能是 Firestore)中,您可以使用来自 android.text.Html 类的 Html.toHtml(Spanned text) 函数,该函数返回样式化的 html 字符串。要检索标记文本,请使用Html.fromHtml(String html)。你可以找到android参考here

    【讨论】:

      猜你喜欢
      • 2021-12-05
      • 1970-01-01
      • 1970-01-01
      • 2020-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-19
      • 2011-08-17
      相关资源
      最近更新 更多