【问题标题】:Get data from Mysql database in real time Android StudioAndroid Studio实时从Mysql数据库中获取数据
【发布时间】:2016-03-30 15:49:47
【问题描述】:

我正在开发一个应用程序,用户可以将通知发送给另一个人。

此外,我正在使用 php 脚本来检索数据并将其发送到我的 Mysql 数据库。

使用 Volley,用户可以将新行插入到表“通知”中,但我不知道如何从应用程序中收听该插入。

我的意思是,现在在数据库中发送通知的用户应该调用方法 getNotificationsFromDB() 来获取通知并在 RecyclerView(如 Facebook 通知)上查看它们。没有别的办法。并且只有在他运行应用程序时才能知道通知。

例如,通知可能是这样的:“John 已向您发送通知”。

此外,此线程在通知片段上运行...

final Thread thread = new Thread(new Runnable() {
        @Override
        public void run() {
            getNotificacionsFromDB();
            try {
                Thread.sleep(100000);
                run();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    });
    thread.start();

但它应该从设备消耗大量资源。一位朋友告诉我,这可能是在 android 的“运行时”上运行的触发器。但其实我没听懂他的意思。

如何监听 MySql DB 的更新以创建推送通知? 有没有办法使用像 IntentService 这样的服务?或者 Facebook 或 twitter 等社交应用程序如何管理数据库更新? GCM 是一个不错的选择吗?

【问题讨论】:

    标签: android mysql sockets google-cloud-messaging


    【解决方案1】:

    就像 Bruno 说的那样,您的应用需要有一个服务器才能接收 GCM 消息,反之亦然。 docs have an example using Java Smack library。但是您不一定必须使用 Java。由于您从 Android 设备发送到服务器的上游消息必须是 xmpp 协议,如果您决定使用 php,那么您可能想查看支持 xmpp 协议的xampp server。祝你好运。

    【讨论】:

    • 是的,我编辑了它:D 谢谢,但现在我不知道使用 volley 将数据发送到我主机上的 rest api/php 脚本是否是最佳做法,并且此脚本发送数据到 gcm 服务器和应用程序监听通知并显示它。顺便说一句,GCM 是最好的!
    • 我不明白为什么不这样做。如果它回答了您的问题,请接受我的回答作为已接受的答案。谢谢。
    【解决方案2】:

    您的架构非常不正统。如果没有服务器推送这些 GCM 消息,您就不能拥有 GCM 消息。您确定不想在设备和数据库之间构建服务器吗?您的设置看起来很容易受到攻击

    【讨论】:

    • 感谢您的回答。所以,如果我使用 GCM,我必须创建一个我在 DB 上插入的 php 脚本,然后我调用 GCM 服务器并回答我发送通知的用户登录的设备?我不知道如何开始
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多