【问题标题】:Phonegap Application check the status for each and every record in every 30 secondPhonegap 应用程序每 30 秒检查每条记录的状态
【发布时间】:2013-01-22 05:44:06
【问题描述】:

我是第一次开发 PhoneGap 应用程序,我很困惑如何开发这个应用程序。

我想从另一个站点/服务获取记录并在我的应用中显示获取的信息。然后我必须每 30 秒检查一次每条记录的状态。那么谁能告诉我我该怎么做呢?我想如果我为每条记录向服务器发送 AJAX 请求,那么服务器会收到很多请求并且会变慢。

我正在为 Android 和 iOS 平台实现此应用程序。

  1. 这在 PhoneGap 中可行吗?

  2. 我是否必须为此使用 WebSocket 库或 nodejs?

  3. 所有平台(如 iOS 和 Android)都支持 WebSocket 吗?

是否有任何简单的方法可以做到这一点?

谢谢

【问题讨论】:

    标签: android cordova mobile iso


    【解决方案1】:

    是的,在Phonegap 中是可能的。在javascript文件或<script>标签中使用如下方法:

     setInterval(
         function () 
     { //place the method that you want to implement 
    
     }, 30000); // for every 30 seconds it will be called
    

    setInterval() 将每 30 秒调用一次

    【讨论】:

    • 但我必须为每条记录调用,所以对于每个记录集的间隔是不可行的。
    • 为什么不通过单个请求检查每条记录的状态并返回所有已更改记录的列表。
    • 但是如果有很多记录,那么它会花费很多时间。
    【解决方案2】:
    1. 是的,它可以在 PhoneGap 平台中,因为应用程序是基于 在允许 AJAX 请求的 JavaScript 上。
    2. WebSocket 实现会更快,但您需要将支持限制为仅 iOS。
    3. WebSocket API 未得到广泛支持。见What browsers support HTML5 WebSocket API?

    我的建议是批量处理您的请求,以便通过一个请求同时返回有关多条记录的信息。请看下面的简单示例:

    $.ajax({
      type: "POST",
      url: "get-record-info.php",
      data: { record-ids: "1,2,3,4"} 
    
    }).done(function (msg) {
    
      //This is the JSON message received from the service.
      alert( "Data Saved: " + msg ); 
    
    });
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-27
      • 1970-01-01
      • 2020-12-21
      • 2014-06-10
      • 1970-01-01
      相关资源
      最近更新 更多