如何从 android studio 应用程序监听 mysql 数据库的任何更改?
Posted
技术标签:
【中文标题】如何从 android studio 应用程序监听 mysql 数据库的任何更改?【英文标题】:How to listen to any changes on a mysql databse from a android studio application? 【发布时间】:2019-06-13 09:05:49 【问题描述】:所以我目前正在尝试制作某种消息传递应用程序,非常基本(只是为了学习)。而且我被困在应用程序必须监听 mysql 数据库(应用程序发送消息的地方)上的任何更改,以便它可以更新其 recyclerview 并将数据放入其中。
我已经完成了发送数据以执行数据库并检索(使用 Volley)它的部分,但我只是创建了一个循环,每 5 秒重复一次以查看是否已将任何内容添加到数据库中,这正在工作但很糟糕:/
我没有代码可以给你看,因为我没有在这部分做任何事情。询问我是否需要更多详细信息:)
所以我希望我的应用程序能够通过数据库保持自身更新。
感谢您抽出宝贵时间帮助我。
【问题讨论】:
【参考方案1】:这是一个非常广泛的问题。如果我理解正确。您想检查 database 是否在您的服务器上更新。您此时尝试的操作称为polling。
您可以查看以下选项:
当有新消息发送到您的服务器时,向设备发送推送通知。收到推送通知后,您的应用会调用 API 来获取新消息。 使用 WebSocket。这是一种 2 路 持久 连接,您可以在其中以低得多的开销发送/接收数据。 查看一些现有的解决方案,例如 Firebase、Pusher Chatkit 或任何其他提供商。您仍然可以使用投票。为了节省一些资源,您可以使用指数退避和限制对服务器的调用次数。当有新消息到达时,发送推送通知。
【讨论】:
因为我不想使用 Firebase(我不太明白它是什么,而且我不喜欢使用我所说的“Google Easy Way”)我将使用推送通知的东西.对于 android studio 和一般来说,我是整个数据事物的新手。你有任何网站或教程建议我学习这些基本的东西吗?顺便说一句,谢谢您的回答。 @Raphael ***.com/questions/11151894/… 这是一个类似的问题。 感谢您的帮助:)【参考方案2】:最好的方法是使用实时数据库而不是 mysql。
我强烈建议您在聊天应用程序中使用 Firebase 实时数据库。如果您使用实时数据库,则不必担心数据库同步(每 5 秒重复一次以查看是否已将任何内容添加到数据库的循环是一个非常糟糕的解决方案)。。 p>
请查看this 简单的聊天应用示例。
【讨论】:
您好,谢谢您的回答,但我真的应该使用 FIrebase 吗?我不喜欢谷歌为“让事情变得更容易”而制作的那种 sutff。有了这些,我们就不会做全部的事情,而且我不确定通过使用他们的工具(Firebase、GCM ...)来真正理解我在做什么。如果你还有什么可以帮助我的,请这样做。 我喜欢这个建议。我不喜欢在所有事情上都使用大型技术的想法。它使我们变得依赖那些不知道隐私意味着什么的公司。以上是关于如何从 android studio 应用程序监听 mysql 数据库的任何更改?的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio教程06-布局,监听器以及基本控件
Adb connect监听指定的主机和端口/Adb监听Visual Studio Emulator for Android模拟器
Android,Studio的EditText控件的回车监听事件无效