相关疑难解决方法(0)

Firebase @PropertyName不起作用

故事

我在我的应用中使用Firebase实时数据库.我有一个像这样的模型.

class Item {
    int mItemName;
    // Simplified for brevity
}
Run Code Online (Sandbox Code Playgroud)

现在,它将该字段存储itemName在我的实时数据库中.但我不想使用该命名约定.我希望命名模式是这样的item_name.

我做了什么

我在这个字段上方使用@PropertyName("item_name"),

class Item {
        @PropertyName("item_name")
        int mItemName;
        // Simplified for brevity
    }
Run Code Online (Sandbox Code Playgroud)

问题

Firebase似乎完全忽略了注释.我无法更改序列化和反序列化的属性名称.

任何帮助将受到高度赞赏.

编辑

这是关注的完整模型类,

public class FileModel {

        @PropertyName("file_id")
        String mFileId;
        @PropertyName("file_name")
        String mOriginalFileName;
        @PropertyName("file_path")
        String mFilePath;
        @PropertyName("file_type")
        String mFileType;
        @PropertyName("last_modified")
        Long mFileLastModified;
        @PropertyName("file_size")
        String mFileSize;
        @Exclude
        private boolean mIsSelected;

        /**
         * Must have empty constructor for JSON deserialization by Firebase
         */
        public FileModel() {
        }

        public FileModel(String fileId, …
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-realtime-database

24
推荐指数
3
解决办法
4341
查看次数