Android: 使用 Firebase 存储静态数据
Android: using Firebase to store static data
我正在开发一个 android 应用程序,允许用户查找有关我所在城市街道的信息。他们将能够将一些街道注册并保存为 "favourites"。
我的问题是,考虑到它们不会超时更改,我如何使用 Firebase 来存储街道数据?
Firebase 数据模型不太适合存储数组(或 Java 列表对象)。 See this blog post explaining the behavior you get. Instead of storing a List, follow the Firebase documentation's approach 用于存储集合。这确实会将其存储为地图,这正是正确的做法。
这主要取决于您想如何读取数据。
如果您总是加载所有街道数据,那么您不妨将其作为文件存储在Firebase Hosting上。这会便宜很多,并且性能更好(因为数据缓存在 CDN 上)。
如果应用程序加载了部分数据,但不是很动态,您可以将数据拆分为多个文件,并仍然将它们存储在 Firebase 托管上。
如果用户有时会更新数据,但仍然很难被应用程序查询,请考虑将其存储在Cloud Storage through the Firebase SDK中。这样,您的所有用户都可以使用这些文件。
如果您想对数据进行高级查询,请考虑将其存储在 Firebase Realtime Database or in Cloud Firestore。
我正在开发一个 android 应用程序,允许用户查找有关我所在城市街道的信息。他们将能够将一些街道注册并保存为 "favourites"。
我的问题是,考虑到它们不会超时更改,我如何使用 Firebase 来存储街道数据?
Firebase 数据模型不太适合存储数组(或 Java 列表对象)。 See this blog post explaining the behavior you get. Instead of storing a List, follow the Firebase documentation's approach 用于存储集合。这确实会将其存储为地图,这正是正确的做法。
这主要取决于您想如何读取数据。
如果您总是加载所有街道数据,那么您不妨将其作为文件存储在Firebase Hosting上。这会便宜很多,并且性能更好(因为数据缓存在 CDN 上)。
如果应用程序加载了部分数据,但不是很动态,您可以将数据拆分为多个文件,并仍然将它们存储在 Firebase 托管上。
如果用户有时会更新数据,但仍然很难被应用程序查询,请考虑将其存储在Cloud Storage through the Firebase SDK中。这样,您的所有用户都可以使用这些文件。
如果您想对数据进行高级查询,请考虑将其存储在 Firebase Realtime Database or in Cloud Firestore。