【问题标题】:Android Webservices - "poke" the webserviceAndroid Webservices - “戳”webservice
【发布时间】:2013-10-03 06:34:24
【问题描述】:

我正在努力思考解决我的网络服务问题的最有效方法。

我的情况:我正在开发一个 Android 应用程序,它通过 web 服务从 mysql 数据库(在我自己的服务器 PC 上)存储和检索数据。用户按下提交按钮后,Web 服务执行一条 sql 命令并生成一个 xml 文件或将数据存储到数据库中。

下一个案例是我的问题:

webservice 必须在创建 xml 之前被戳。到目前为止,我必须在浏览器中访问 webservice (xxx.xxx.x.xxx:xxx/webservice.php),然后它会更新一个 xml 文件 ((xxx.xxx.x.xxx:xxx/webserviceList.xml)。 xml)。当然这必须自动进行。

所以如果用户向数据库发送数据(例如:他添加了一个客户),webservice 应该更新 xml 文件(所以必须输入 xxx.xxx.x.xxx:xxx/webservice.php)

现在我认为有两种方法可以解决这个问题(如果有更多方法,请纠正我)

  • 不知何故让数据库戳Web服务
  • 让应用戳 Web 服务

如果有办法让数据库戳 web 服务,我猜那将是最有效的??因为我的目标当然是让应用程序尽可能快

否则,有没有一种简单的方法让应用程序在不发送和接收数据的情况下触摸/戳网站/webservice,唯一目标是更新 webservice 创建的 xml?

希望大家给点建议:)

提前致谢!

【问题讨论】:

  • 这是向数据库发送数据,我已经开始工作了。我需要做的就是触摸 Web 服务,以便它更新 xml 文件

标签: php android mysql xml web-services


【解决方案1】:

您需要写REST API's 来实现这一点。在后端编写 API 后,您可以从任何 HTTP 客户端调用它。此客户端可以是您的 android 应用程序或其他服务器(托管您的数据库的服务器)。

将尽可能多的逻辑卸载到服务器而不是移动应用程序通常是一种很好的做法。所以我建议一旦数据从应用程序发送到您的数据库,您调用 api 从托管您的数据库的服务器更新您的主服务器上的数据。

【讨论】:

  • 其实我已经有一个方法可以调用Http函数来从网上获取xml文件。所以你会说:使用 AsyncTask 调用类,在收到 xml 后再次收到 xml,然后传递另一个 URL 并且对数据不做任何事情?
  • 你需要有不同的 API 来处理不同的事情。因此,再次调用“更新”API,其唯一工作就是告诉服务器在需要执行此操作时自行更新。只做一件事的小型模块化 API 比处理整个流程的单个 API 更好。但这取决于您的架构和其他要求。
【解决方案2】:

确保您编写 REST api 服务并使用 Observer Design Pattern

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-03
    相关资源
    最近更新 更多