在Android上使用Room连接数据库

3
我一直在研究数据库和持久性库Room,以允许我的Android应用程序进行实时更新,但我很难理解Room如何与数据库通信。我不确定我对它的使用方式是否正确。
我想象的是将我的Android应用程序连接到远程数据库,应用程序上的用户可以进行更改,当这些更改被推送到数据库时,它会自动从该数据库更新所有其他活动用户的数据。如果相关的话,这是我正在运行的Google地图应用程序的一部分。
(我现在并不关心任何安全措施,因为这只是概念验证)
我需要做这件事情的所有内容都包含在Room库中吗?还是有些东西我没有掌握?如果是,那么推荐使用哪些库?再次重申,我需要的内容如下: 1. 连接到远程数据库 2. 从数据库中提取值以初始化应用程序 3. 从应用程序更改数据库值(管理员模式) 4. 将这些更改推送到远程数据库 5. 使用数据库上的新更改更新在其他Android设备上运行的所有其他活动应用程序
如果我完全偏离了方向,我希望有人能指点我正确的方向。
1个回答

3

我需要的所有东西都包含在Room库中吗,还是我缺少某些部分?

Room与此无关。

Room用于设备上的本地SQLite数据库。 Room与与您的Web服务通信无关。


好的,谢谢你。我担心这是这种情况,但我不能确定。既然是这样,我的问题就很离题了,所以我会删除它,但你能指导我如何实现我发布的内容吗?我觉得应该有一个简单的库可以做到这一点,但我还没有找到任何相关的资料。 - Zannith
1
@TravisHerbert:“我觉得应该有一个简单的库可以做到这一点” - 这实际上取决于你认为“远程数据库”的含义是什么。你应该首先专注于找到满足你需求的“远程数据库”,然后找出它的Android连接选项。例如,如果你决定使用托管的GraphQL数据库(例如Graphcool),你可以使用Apollo-Android与GraphQL Web服务端点交互。或者,你可以使用Retrofit进行REST Web服务。或者“远程数据库”可能有自己的Android客户端库。 - CommonsWare
这个数据库服务器将是我自己设置的。我查看了一些,我认为Retrofit是我要找的东西。如果我从我的简短阅读中理解正确,我使用Java接口(类似于Room和其本地数据库)来创建查询,并使用此接口在我的Java对象和数据库之间进行通信。 - Zannith
@TravisHerbert:Retrofit是用于REST风格Web服务的客户端库。如果您打算创建一个REST风格的Web服务(由某个数据库支持),那么Retrofit很可能是与该Web服务通信的理想选择。 - CommonsWare
谢谢你提供的所有信息,这澄清了我需要开始的地方。第一次接触数据库有点令人不知所措,所以我很感激你的帮助 XD - Zannith
显示剩余2条评论

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