android - @DocumentId 注释如何用于 Firestore 的字段?
问题描述
我目前正在使用带注释的 POJO 将 Firestore 文档集成到 Kotlin 应用程序中以提取数据。作为其中的一部分,我还需要文档的 ID。
我正在尝试使用此处描述的新 @DocumentId 符号来执行此操作...
但是在我的 POJO 类中无法识别注释(未解析的参考:DocumentId)
在我的 gradle 文件中,我有...
implementation 'com.google.firebase:firebase-firestore:21.2.1'
在我的模型课上,我...
data class DocumentModel(
@DocumentId var id: String
@PropertyName var field1: String
...etc...
)
其他注释工作正常,只是 DocumentId 一个不起作用。有人对我做错了什么有任何想法吗?
解决方案
根据官方文件(https://firebase.google.com/docs/reference/android/com/google/firebase/firestore/DocumentId.html),
此注释应用于不可写的属性(例如,没有支持字段的 Java Bean getter)。
所以,你必须使用val
而不是var
.
data class DocumentModel(
@DocumentId val id: String
...etc...
)
推荐阅读
- javascript - 使用 cPanel 中的新节点应用程序功能将文件同步到 S3
- java - ElasticSearch withJava API - 从一个类或现有对象映射一个复杂的类
- sql - 如何获得每个唯一列的特定行数?
- javascript - 如果用户猜到了,防止计数器再次增加
- c - 为什么&打印内存地址的结束位置
- php - 未捕获的错误:找不到类“Symfony\Component\Config\Resource\ClassExistenceResource”
- python - 无法在 Python 中导入 Flask
- ios - 如何使用自动布局从情节提要中制作动态 y 位置
- macos - Mac:执行 Vagrant 使用的 CLI `VBoxManage` 时出错
- ms-access - Access 应用程序在常规 Access 2016 中完美运行,但在运行时 Access 中出现错误