【问题标题】:Starting with databases, Firebase or SQLite? [closed]从数据库、Firebase 还是 SQLite 开始? [关闭]
【发布时间】:2018-02-22 14:37:19
【问题描述】:

所以我目前正在开发一个锻炼应用程序。我有称为练习的对象,当我开始锻炼时,我会用数据填充练习,例如我为每个练习做了多少次重复。我想收集所有数据并在以后进行评估。这样我就可以绘制一张图表,说明我的重复次数在几次锻炼中是如何增加的。

我目前正在将我的锻炼和练习保存在一个 ArrayList 中,该 ArrayList 每次启动和关闭我的应用程序时都会进行序列化和反序列化。它有效,但我认为如果我使用数据库处理所有对象和数据会更有意义,对吗?但是,我以前从未对数据库做过任何事情,我想知道我应该从哪里开始。所以我的第一个问题是,你知道关于数据库的任何好的初学者教程,特别是对于 android 吗?

据我了解,我的 2 个选项是为我的 Android 应用程序使用 SQLite 或 Firebase。我的第二个问题是,我应该选择哪一个?我知道 SQLite 用于本地存储数据。目前我在本地运营,但我认为将来我想支持在线保存我的数据。所以 Firebase 可能是一个更好的选择,但是当没有互联网连接时应该可以访问数据。

我将不胜感激任何有关如何使用数据库和使用数据库的建议和解释。好的教程的链接也很棒。谢谢!

【问题讨论】:

    标签: android database sqlite firebase


    【解决方案1】:

    就您的第一个问题而言,它有点开放式。您是否关心学习特定的数据库管理系统 (DBMS)(例如 MySQL、Postgres 等)?或者您是否关心数据库管理系统的学习原理?如果你选择前者,那么你必须选择一个系统,学习它的语法,并采用它来满足你的应用程序的需求。另一方面,如果您选择后者,那么您需要参加有关数据库管理系统原理的在线课程。个人认为,如果你走第一种路,你可能会更快地实现你现在的目标,但未来你可能会遇到无法解决的与数据库相关的问题。后者需要更多的努力,但如果您认为将来必须使用数据库,则更有意义。

    我不相信提供任何链接对我来说是否有成效,原因如下:(i) 互联网上到处都是针对不同 DBMS 的在线教程,(ii) 我不想让您偏向于我认为特别好的 MOOC。

    转到问题2,我认为您需要首先建立您的应用程序的场景。该应用程序是否旨在在本地存储数据,而这些数据仅由应用程序使用?如果是,那么嵌入式 DBMS(如 SQLite)是可行的方法,因为它将成为您的进程空间的一部分,如果需要,数据将在应用程序之外进行管理,并且可以满足您所有的并发/一致性要求。另一方面,如果您的数据也将被外部服务使用,那么您需要基于服务器的 DBMS 服务(如 Firebase)。

    希望我的回答有所帮助。

    【讨论】:

    • 非常感谢!目前我正在尝试将我的数据存储在本地,但是在未来,我希望我的应用程序将数据保存在服务器上以进行备份,因此当用户删除应用程序或切换到另一台设备时,数据不会迷路。此外,稍后,我希望能够发布锻炼程序,并且应该像应用商店那样工作,您可以在其中自动获取新应用程序,因此我还需要某种类型的服务器连接。所以也许我需要两者结合,有什么特别适合我的需求吗?
    • 同样,这取决于您应用的架构和设计目标。我认为您可以从嵌入式 DBMS(即 SQLite)开始,然后使用外部 DBMS 支持远程存储。顺便说一句,外部 DBMS 不一定是 Firebase。如果您觉得我的回答有帮助,请将其标记为您的问题的答案。干杯!
    猜你喜欢
    • 2012-12-29
    • 2017-08-09
    • 2016-07-23
    • 2022-01-13
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 2012-03-09
    • 2010-10-20
    相关资源
    最近更新 更多