Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Firestore和Unicode_Android_Firebase_Google Cloud Firestore - Fatal编程技术网

Android Firestore和Unicode

Android Firestore和Unicode,android,firebase,google-cloud-firestore,Android,Firebase,Google Cloud Firestore,文档描述了Firestore支持Unicode。您只需将已格式化的文本插入Firestore。但卸载时,不考虑以下因素: 断线 直接插入文本中的Unicode字符(例如\u000a)。 代码如下。 存储库 suspend fun getData():响应= suspendCoroutine{cont-> val集合= 火库 .集合(集合名称) .whereEqualTo(默认条件字段,默认条件值) .orderBy(排序\字段,排序\方向) .get() 收集 .addOnSuccessList

文档描述了Firestore支持Unicode。您只需将已格式化的文本插入Firestore。但卸载时,不考虑以下因素:

  • 断线
  • 直接插入文本中的Unicode字符(例如
    \u000a
    )。 代码如下。 存储库
  • suspend fun getData():响应=
    suspendCoroutine{cont->
    val集合=
    火库
    .集合(集合名称)
    .whereEqualTo(默认条件字段,默认条件值)
    .orderBy(排序\字段,排序\方向)
    .get()
    收集
    .addOnSuccessListener{query->
    val data=arrayListOf()
    query.toObjects(ModelDomain::class.java).forEach{data.add(it.toModel())}
    续简历(回复、成功(数据))
    }
    .addOnFailureListener{cont.resume(Response.Error(it))}
    }
    
    视图模型

    private val\u data:LiveData=loadData()
    val data get()=\u数据
    private fun loadData():LiveData=
    liveData(Dispatchers.IO){
    发出(响应.加载)
    试一试{
    发出(repository.getData())
    }捕获(e:例外){
    发出(响应错误(e))
    }
    }
    
    模型

    数据类模型域(
    变量说明:String=“”
    ):不完整{
    趣味toModel()=
    模型(
    描述=描述
    )
    }
    数据类模型(
    val描述:字符串
    )
    
    部分代码已被省略

    更新

    刚刚用记事本++写下:

    已将此复制到Firestore:

    结果:


    Firestore不会以任何方式修改您写入其中的数据。如果您在文档中写入内容,然后读取文档,您将获得与您输入的数据完全相同的数据


    如果您在Firebase控制台中查看文档,则不会看到所有回车和空格。当呈现大量数据时,这些将被折叠以节省屏幕空间。但是如果您以编程方式读取数据,它肯定与您编写的数据完全相同。

    请阅读更新。控制台再次折叠数据。您应该以编程方式读写文档,使其能够正确使用回车字符。从控制台复制和粘贴并不是这样。现在很清楚了。要获得正确的数据,您需要以编程方式输入它们。是否可以在不编写其他功能的情况下实现这一点(该应用程序是为feed参考书定制的)?我不确定您在问什么。您必须编写代码才能读取和写入任何数据。