移动应用选择数据库的最佳实践

9

我对移动应用开发还比较新。目前正在为一个移动应用制作项目文档,希望得到一些关于使用哪种数据库解决方案的建议。

1)移动应用 -> 仅在线 -> 连接到数据库

2)我有几个网络服务器正在运行(主要是mysql),可能可以使用吗?

所以我的问题很简单:)我应该使用什么解决方案来管理我的移动应用数据库? - 在服务器上设置一个mysql数据库? - 使用某种基于云的解决方案? - 有任何API方面的考虑吗?

  • 需要符合Android和iOS的“最佳实践”。

非常感谢您提供任何建议!谢谢大家!你们太棒了!

2个回答

5

汤姆,

这个问题最常见的解决方案是:

1)你的应用程序通过服务器上的webservice获取数据。你可以使用基于XML通信的Soap解决方案,或者简单的REST访问(使用GET或POST方法的简单http请求),并选择自己喜欢的格式:XML或JSON。现在,有很多基于REST GET/POST和JSON文件通信的解决方案。

2)之后,如果你希望你的应用程序可以进入离线模式或更加反应迅速,你可以将通过webservice加载的旧数据存储在本地数据库中。在Android中,你可以使用直接访问sqlite数据库,而在iOs中,你可以使用CoreData api。

希望能帮到你。

Fabecc。


3

如果您需要在断网情况下使数据保持可用,则应使用作为Android / iOS的一部分的SQLITE数据库。

如果您的应用程序将数据保存在服务器上,然后由其他门户或设备(共享)使用,则考虑通过Web /服务器和mysql数据库存储数据。

因此,这真的取决于使用和共享要求。本地存储数据有很多好处,因为它更快,不需要网络,数据始终可用,并且不使用网络还可以延长电池寿命。


感谢您的输入。要求是人们彼此共享“数据”。不会进入具体细节,但基本上,人1打开应用程序,看到人2、3、4的数据。因此,注册并共享数据。对于从mysql保存/检索数据的最佳实践有任何建议吗?构建API? - Tom
2
在这种情况下,您还需要服务器组件。服务器应该公开Web服务。Web服务可以是最适合手机的REST / JSON类型。为了提供最佳用户体验,您应该将数据与服务器同步并在SQLITE中本地存储(在iOS中,您使用核心数据来使用sqlite)。 - TorukMakto
MySQL(InnoDB)是一个好的解决方案吗?对于移动应用程序,没有必要使用任何“特定”的数据库解决方案吗?关于服务器端REST的方法,有什么建议吗?是否有任何可以参考的东西? - Tom
如果你期望你的应用程序始终从服务器获取数据,不想在本地存储数据,那么移动应用程序就不需要专门的数据库。你只有一个选择,即 iOS 和 Android 默认的 SQLite。要从服务器获取数据,你需要调用 Web 服务。由服务器决定使用哪个数据库。无论他们使用 Oracle 还是 MySQL,数据都通过 Web 服务公开,移动应用程序不会受到服务器端使用的任何数据库的影响。 - TorukMakto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接