gpt4 book ai didi

android - 如何管理 firebase 数据库 key ?

转载 作者:行者123 更新时间:2023-11-29 19:24:27 26 4
gpt4 key购买 nike

当使用 firebase(或任何基于 id 聚合数据的数据库)时,我几乎总是必须跟踪给定值的键。例如,假设我有带有纬度和经度字段的 Location 类。当我从 firebase 下载 if 时,除了它的两个字段外,我还想跟踪它的下载键(使用 push() 生成的节点值,例如 -K_esEYXNfMBNmgF3fO4),这样我以后可能会更新它,删除它等。我明白了只有两个解决方案:

  1. 复制数据并将键值添加为另一个 Location 类字段。这不太好用,因为我必须在执行 push() 后才设置键值。

  2. 创建将保留键和对象的通用包装类:

    public class Key<T> {

    private final String key;
    private final T value;

    public Key(String key, T value) {
    this.value = value;
    this.key = key;
    }

    public String key() {
    return key;
    }

    public T value() {
    return value;
    }
    }

我正在使用第二种方法,但它看起来不太好。我基本上在我所有的代码库中都有这个 Key 类,当使用 RxJava 时,很多方法都有这样的返回类型:Observable<Key<Location>>这看起来很荒谬。

最佳答案

你说的可笑其实在我看来很正常。

或者,您可以将 key 包含在 POJO 中,并使用 @Exclude 对其进行注释,以将其排除在序列化之外。

关于android - 如何管理 firebase 数据库 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41697156/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com