代码之家  ›  专栏  ›  技术社区  ›  Eno

在Android应用程序中实现这种行为的最佳策略是什么?

  •  1
  • Eno  · 技术社区  · 15 年前

    在我的Android应用程序中,我有一些数据需要每天同步,但当用户在应用程序中时,也需要每小时更新一次。

    我已经实现了一个服务,可以从警报中调用该服务来进行每日更新。我有一个问题与发展战略,做每小时同步。我也可以使用每小时一次的警报并触发相同的意图,但是由于你的应用程序随时都可能被终止,所以没有办法取消它(因为它们使用相同的意图,所以执行取消操作会取消所有警报,包括我的每日同步,所以这可能不好)。

    另一个选择是使用一个定时器,它在应用程序内部设置,并在应用程序内部触发我的意图。我假设当一个应用程序被终止时所有的计时器都会被取消,对吗?但我的应用程序由几个活动组成,我希望计时器能在所有活动中工作,我该怎么做?我不想重复代码-我们已经在使用Activity和ListActivity的子类。

    2 回复  |  直到 15 年前
        1
  •  2
  •   CommonsWare    15 年前

    每天同步,但也需要 每小时更新一次 在应用程序内部。

    我也可以用小时闹钟 同样的意图,但自从你 应用程序随时都可能被杀死 不会取消的

    我假设所有的计时器都被取消了

    应用程序通常不会被“杀死”。当你的活动被召集时,我们希望你自己打扫干净 onDestroy() . 如果你设置了 Timer

    但我的应用程序由几个部分组成 活动,我希望计时器 在所有活动中工作,我该怎么做 你这么做?

    从您的每个活动绑定到您的服务。如果它是由你的闹钟启动的 Intent ,让它做正常的更新处理。如果它是由于绑定请求而启动的,只需让它确保每小时 定时器 onDestroy() 定时器 .

        2
  •  0
  •   Robby Pond    15 年前

    在onResume中创建的后台线程中进行每小时同步怎么样?只需保存用户上一次同步的时间,如果它已>一个小时做同步。因为我认为没有任何理由急切地同步用户永远看不到的数据。

    推荐文章