Firebase Android使用日期作为唯一ID保存数据

By simon at 2018-02-07 • 0人收藏 • 42人看过

我试图用日期作为唯一的ID保存用户的详细信息。我 显示日历顶部的日期,我从日历中获取在另一页上。 ![我正在显示日历在顶部哪个Ii从日历视图到另一个 页。](https://i.stack.imgur.co米/ BIvUh.png) 我想知道如果我可以使用日期作为一个唯一的ID保存其他数据里面 它,也用它读它的时候时间到了。 目前,要编写我使用这个代码的数据:

String id =databaseWorkouts.push().getKey();
Workout workout = new Workout(id, name, category );
databaseWorkouts.child(id).setValue(workout);
谢谢,

2 个回复 | 最后更新于 2018-02-07
2018-02-07   #1

我在代码中看到的是,您正在使用push()方法 生成随机唯一的密钥,然后你使用我在参考中 将Workout类的对象添加到数据库中。你和不使用的 日期作为标识符。使用push()方法是常用的做法 来自Firebase。这个方法提供的这个随机生成的密钥是基于的准时。所以,没有必要以任何方式改变这一点。

2018-02-07   #2

在日期之前推送每个锻炼是相当容易的。

String id =databaseWorkouts.push().getKey();
Workout workout = new Workout(id, name, category );
databaseWorkouts.child("2018-02-06").child(id).setValue(workout);
你会想要计算日期,所以这只是一个前例充足。 但是通过这个数据结构,您只能查询特定日期的锻炼。 如果你想查询所有的锻炼dates,这个数据库结构没有 更长的时间允许。 作为一个方面说明:没有必要将密钥存储在Workout中, 罪它已经在数据库中可用了。保持钥匙只有一次,和 仍然有它在Workout对象中可用,看[有没有办法 存储我从Firebase投下的课程中的关键 对象?](https://stackoverflow.com/questions/46282759/is-t在这里,一个路到store- 键的一流的 - 这-I-铸从-火力对象/ 46283853#46283853)。

登录后方可回帖

Loading...