从数据库,Firebase或SQLite开始?

时间:2018-02-22 14:37:19

标签: android database sqlite firebase

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

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

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

我很感激任何建议并解释数据库和使用方法。指向优秀教程的链接也很棒。谢谢!

1 个答案:

答案 0 :(得分:0)

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

我不相信,由于以下原因,我提供任何链接是否富有成效:(i)互联网上有不同DBMS的在线教程,(ii)我不想偏向你我认为特别好的MOOC。

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

我希望我的回答有所帮助。