【问题标题】:Getting Updates from Parse.com从 Parse.com 获取更新
【发布时间】:2016-01-08 01:16:47
【问题描述】:

我正在尝试将 parse.com 用于应用程序,但当服务器发生变化时,我需要手机中的信息进行更新。有没有办法进行连续检查或让服务器在服务器中进行某些更改时让电话知道?我检查了他们所有的文档,但找不到任何东西

谢谢

【问题讨论】:

  • “持续检查”小心...电池耗尽。
  • 您只需要使用 PubNub,但请注意 Parse 不再存在。

标签: android parse-platform


【解决方案1】:

IFAIK,你可以使用ScheduledExecutorService来实现它。

通过使用 ScheduledExecutorService,您可以每 X 秒从服务器获取更新。

这是一个例子,

ScheduledExecutorService scheduleTaskExecutor = Executors.newScheduledThreadPool(5);

scheduleTaskExecutor.scheduleAtFixedRate(new Runnable() {
  public void run() {
    //Codes that check update from server
  }
}, 0, 1, TimeUnit.MINUTES);

这将每 1 分钟检查一次来自服务器的更新。

要停止检查更新,

scheduleTaskExecutor.shutdown();

希望这会有所帮助:)

【讨论】:

  • 这是完全错误的。 轮询不是软件工程中的解决方案
  • 它可能不是首选的解决方案,但它可能是一个解决方案,具体取决于您遇到的问题。有时轮询是最好的选择。虽然我会说你应该尽可能避免投票。
【解决方案2】:

另一种可能的解决方案是使用推送通知来通知应用程序服务器上发生了变化,并触发拉动以更新应用程序中的所有内容。这在很大程度上取决于您正在处理的数据类型、更新频率以及用户需要多快知道发生了变化。

【讨论】:

  • 另外,您可以查看 GCM 网络管理器,developers.google.com/cloud-messaging/network-manager 来安排一次性任务与重复任务。这比使用固定警报启动工作要好,因为它内置了一些优化,例如仅在 wifi 上运行、充电时等。
  • 如果(出于某种原因)您想避免使用普通的、现代的在线状态系统,那么您实际上无法将 Push 用作 hack。 (还要注意,如果你出于某种不可思议的原因想要这样做——比如说,炫耀你在推送方面有多出色!——这将是令人难以置信的更多工作。这一切都在 Firebase 的一行代码中完成, PubNub 等。使用 Push 很难想象。)
  • 首先,通过更新您的应用程序来获得推送和响应并不难。其次,完全可以想象有人不会仅仅为了这个目的而对集成整个服务感兴趣。我们并不真正了解他的需求。根据用例,推送通知可能是一种非常简单的处理方式。
  • 你知道,这恐怕真的是大错特错,老鹰老兄! (1) 为此目的使用 PubNub(或其他)非常简单——这就是它们存在的原因。 (2) 如果(出于某种原因)您想尝试使用 Push 进行此操作,那将是一项巨大而繁琐的工作。与拥有自己的专用实时服务器(或在游戏情况下使用 SmartFox 等)相比,任何像我们这样的老公司在“过去”中都曾多次这样做过。 (3) 推送不可靠,并且存在巨大的延迟。我不知道该说什么,今天只是“完全标准”。
  • 好的,如果这些还不够好,这里还有另一个原因。它可以很快变得昂贵。说每个人都应该使用这些服务而不考虑他们的需求是不合理的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-10
  • 1970-01-01
  • 2014-09-13
  • 2016-07-27
  • 1970-01-01
  • 2016-04-19
  • 1970-01-01
相关资源
最近更新 更多