【问题标题】:Listen for database changes in Android? (Kotlin/Java)监听 Android 中的数据库变化? (科特林/Java)
【发布时间】:2020-01-20 02:35:53
【问题描述】:

我的 Kotlin 应用有问题。

它与用 Node.JS 编写的 API 连接,该 API 获取处理来自 SQL Server 数据库的数据的请求。

但是我需要监听数据库的变化,我希望我的应用在数据库被修改时发送通知。

我听说我可以使用广播来做到这一点。但是怎么做呢?

我的广播接收器和警报已准备就绪,但我可以在 API 中执行哪些操作来验证我的数据库是否有修改?

请回答,即使你只知道如何用Java做,它也可以帮助我。

【问题讨论】:

  • 不,它只适用于 SQLite 数据库,我需要在云上托管的 SQL Server 数据库上使用它。所以我需要使用我的 Node.JS API 来完成。
  • 抱歉,我没听懂。你能解释得更好吗?

标签: android node.js sql-server api kotlin


【解决方案1】:

您所描述的有点复杂,但肯定有可能。

您需要实现“订阅/通知”模式(或类似的东西),您的 android 应用将订阅网络服务,当数据库发生变化时,您的网络服务可以通知其所有订阅者.

Websockets 是一个易于使用、随时可用的库,可在 Node.js 中实现这一目标。

您可以探索的另一个选项是Firebase Cloud Messaging. 您需要进行一些配置以将您的 SQL Server 连接到 Firebase,或者甚至将您的数据库迁移到 Cloud SQL 以获得最纯粹的集成。当然,所有这些选项都取决于您的用例,以及什么对您最有意义。

不要将所有这些与Android's Broadcast. 混淆。这是 Android 内置的一种机制,允许操作系统与所有应用程序通信,例如广播 WiFi 已关闭,某些应用程序可能想知道的事件,然后选择订阅。

【讨论】:

  • “一些配置”是什么意思?我需要编写代码将我的 SQL Server 数据库与 Firebase 数据库同步吗?还是有其他方法?有没有示例代码或教程可以帮助我做到这一点?
  • FCM 将成为通知应用程序数据库更改的工具。在您的 API 中,无论何时进行数据库更改,您都可以向 FCM 发送消息,该消息将处理通知您的 android 应用程序发生更改。一旦您的应用收到此消息,它就可以采取相应的行动,例如刷新数据。所有文档和代码示例都可以在 FCM 文档中找到。
  • 很高兴我能帮上忙 :)
猜你喜欢
  • 2016-05-25
  • 2012-05-26
  • 2020-08-20
  • 2013-01-05
  • 2019-01-16
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
相关资源
最近更新 更多