Android 应用程序有一个与数据库连接的主服务器,并且应用程序会定期与该数据库服务器同步数据。但是在离线访问的情况下,应用的一些功能也需要工作,所以需要在本地存储一些数据。
其实问题:
- 考虑到同步,数据通常如何在本地和远程存储?在互联网上,我遇到了 SQLite + Room 和 Firebase 的捆绑包。请解释使用了哪些方法?
- 我无法理解本地和远程数据库之间的同步过程。据我了解,本地数据库和远程数据库不会完全相同。究竟是如何进行比较的?
我通常用 Golang+Postgres 编写后端。但是我在开发中没有遇到过android,因此我无法理解存储和同步数据的基本知识。
一般来说,数据可以通过三种方式存储在设备上:
SharedPreference 用于简单数据。
数据库。用于存储更复杂的对象。
保存到文件。如果您需要以任何方式共享此数据或在删除应用程序后将其保留在设备上。
怎么同步呢?这取决于你想达到什么目标。您可以通过数据库运行所有数据或仅保存选定的任务。
同步也取决于您。是的,如果设备长时间未连接到网络,它们可能与服务器不同步。是否向用户显示它们取决于您的应用程序。例如,您可以在他的 Google 照片收藏中显示用户照片,但您可能不应该在银行应用程序中显示过时的帐户。
它通常是如何发生的?您从服务器接收数据并将其保存到数据库中,然后应用程序本身将其从数据库中提取出来。如果您更改某些内容,则必须将其同步保存到服务器和数据库。
这里很难举一些例子,因为一切都取决于你的任务。我希望我能帮到你一点。