【发布时间】:2014-07-11 22:16:36
【问题描述】:
我正在开发一个 Android 应用程序,用户将在其中看到组列表并加入 1-* 组。组内将有成员,用户可以在他们加入的组内相互发送消息。向多人发送消息并回复所有人。
我希望它支持多种设备。所以,如果我加入一个群组并且有人给我发了一条消息,我想在我的手机和平板电脑上看到这条消息。如果两者都安装了应用程序。
我希望用户能够在离线时查看组详细信息。
我一直在做一些研究并绘制图表以了解其工作原理。
对于如何使用远程数据库进行设置,我有哪些选择?
这是我最终缩小到的几个选项。
- 让远程数据库存储所有内容。在设备上有一个反映远程数据库的本地数据库。让远程数据库包含一个版本号。在某个时间点,无论是计划的还是触发的,应用都会比较本地和远程的版本号,如果本地版本过时,它将更新到当前的远程数据库。
- 让远程数据库存储所有内容。在设备上有一个本地数据库,它反映了远程数据库中除消息传递系统之外的所有内容。这将类似于#1。除了与消息系统相关的表格和东西会“不知何故,gcm 可能”向与用户关联的所有设备发送一条消息,说明与用户相关的消息已更改,然后应用程序将更新到最新版本远程数据库中的远程消息传递表。然后他们的本地数据库包含新数据,他们的“消息框”将被更新。
最好的方法是什么?目前在大多数系统中这是如何完成的?还有比我列出的更多的选项吗?
远程数据库:MySql
本地数据库:sqlite
我知道here on SO 有一些类似的问题,但我想知道这些选项或其他选项中的任何一个是否最适合我的具体情况。主要是如何处理消息部分。
谢谢
【问题讨论】:
标签: java android mysql database sqlite