我需要能够拥有3个可以互相通信的快速应用程序。将app 1视为基本应用程序,它与服务器通信并将信息存储在本地数据库中,应用程序2和3需要读取(并且可能写入)应用程序1中创建的数据库。
在网上看来,这似乎可以通过'应用群组实现。如果所有3个应用都位于相同的应用群组下,他们会自动拥有一个共享文件夹'我可以在哪里创建和/或存储Realm DB?那么app 2和3会使用NSFileManager来与这个共享文件进行交互吗?我似乎无法找到任何这方面的例子。
答案 0 :(得分:0)
您需要一个中央数据库来读取和写入多个客户端应用程序,这是最简单的API。换句话说,您需要为您的应用提供API。您可能认为这比共享文件夹和共享Realm DB更具挑战性,但实际情况并非如此,您实际上通过尝试重新发明N个移动应用程序如何与之共享数据的方式使问题变得更加复杂相互之间,无论N个应用程序都驻留在同一设备上,在iOS中,应用程序都在沙盒中,并且您试图绕过它。
我的猜测是你解决这个问题的方法集中在使用Realm DB,但Realm DB可能不适合这项工作,因为Realm DB是一个服务于一个应用程序的LOCAL数据库,如果Realm DB设计用于多个应用程序,它将是一个API工具,如Firebase或Amazon S3。
您需要创建一个API,而API只有一个数据库支持它。
比如说,App1需要保存App2需要能够检索和查看的图片。
您的API将有一个名为
的方法SavePicture(byte[] picture)
现在,App1通过调用您的API来保存图片,并将图片保存在数据库或服务器硬盘上,无论是数据库中是否有保存图片的记录。
现在App2想要新图片,比如说App2上有一个刷新按钮,刷新按钮触摸会调用你的API,另一个叫做
的方法[byte[]] GetPictures()
GetPictures
API方法返回一个byte []数组,每个都是一个图像,App2可以显示。
您可能想要结帐Firebase
,这似乎是人们使用的第三方工具,不熟悉构建API,或者学习如何使用PHP,Ruby on Rails,ASP构建API。 NET Web API,Python等,数据库可以是MySQL,PostgreSQL,Sql Server,MongoDB,RavenDB等。