我正在开发一个 android 应用程序,它允许用户查找有关我所在城市街道的信息。他们将能够注册并将一些街道保存为“收藏夹”。
我的问题是,考虑到街道数据不会随时间变化,我该如何使用 Firebase 来存储它们?
我正在开发一个 android 应用程序,它允许用户查找有关我所在城市街道的信息。他们将能够注册并将一些街道保存为“收藏夹”。
我的问题是,考虑到街道数据不会随时间变化,我该如何使用 Firebase 来存储它们?
这主要取决于您希望如何读取数据。
如果您总是加载所有街道数据,那么您不妨将其作为文件存储在Firebase Hosting上。这会便宜很多,而且性能更好(因为数据缓存在 CDN 上)。
如果应用程序加载了部分数据,但它不是很动态,您可以将数据拆分为多个文件并仍然将它们存储在 Firebase 托管上。
如果用户有时会更新数据,但应用程序仍然很难查询,请考虑通过 Firebase SDK 将其存储在 Cloud Storage 中。通过这种方式,您的所有用户都可以使用这些文件。
如果您想要对数据进行高级查询,请考虑将其存储在Firebase 实时数据库或Cloud Firestore中。
Firebase 数据模型不太适合存储数组(或 Java List 对象)。请参阅此博客文章,解释您得到的行为。不要存储列表,而是按照 Firebase 文档的方法存储集合。这确实会将其存储为地图,这正是正确的方法。