【问题标题】:java desktop app invoking webservice on android appjava桌面应用程序在android应用程序上调用webservice
【发布时间】:2015-01-09 18:12:05
【问题描述】:

我正在开发通过 JDBC 与 MySQL 数据库通信的 Java 桌面应用程序。 我想开发一个 android 应用程序,它将使用 Web 服务来访问同一数据库中的数据。 有没有办法告诉我的桌面应用程序中的 android 应用程序何时调用 Web 服务(我希望我从数据库中的桌面应用程序提交的所有更改都显示在 android 应用程序中)?

什么是最好的实现方式?

是否可以通过套接字将参数从桌面发送到 android,然后在 android 应用程序的套接字线程中调用 Web 服务?这是好方法吗?

【问题讨论】:

    标签: java android web-services sockets


    【解决方案1】:

    最好的方法是使用 SOA 方法。使用 j2ee 容器,并通过 Web 服务公开您的服务。然后android可以直接通过http使用那些。

    或者,您可以在 android 中使用 jdbc,就像在桌面应用程序中使用 jdbc 一样。

    【讨论】:

    • 我想从 Android 应用程序使用 PHP Web 服务,但我正在寻找解决方案,当我从桌面应用程序插入数据库时​​如何自动调用该服务,以便用户可以看到 Android 上的更改应用无需手动刷新(调用网络服务)。
    【解决方案2】:

    您可以使用Google Cloud Messaging。 GCM 非常适合进行这种类型的数据同步。为此,您可以执行以下操作

    • 向 GCM 服务器注册您的 android 应用并将 ID 保存在您的数据库中。
    • 通过在更新时从您的数据库中获取 ID,从您的桌面应用程序或网络服务向您的 Android 应用程序发送推送通知。
    • 当您从 GCM 服务器收到消息时,只需在您的 Android 应用中调用 Web 服务。

    Here 是 GCM 服务器和客户端的实现。

    【讨论】:

    • 我忘了说这个应用程序可以在没有互联网连接的本地网络中运行。
    • 在这种情况下,您可以设置本地 XMPP 服务器以进行消息传递或定期检查您的 Android 应用服务的更新。
    • 是的,这就是我想做的,但问题是我正在寻找最好的方法来自动从 android 应用程序调用 Web 服务,以便每次插入时获取新数据来自桌面应用程序的数据库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多