社交应用的计时器

时间:2011-10-15 09:13:03

标签: android multithreading timer

我正在写一个社交游戏,但我仍然坚持如何创建一个计时器线程,该线程适用于显示时间流逝的活动,例如能量等属性。每个活动都有能量文本视图,但线程一次只能更新一个视图。请注意,我不使用androids计时器类,但已创建自己的线程类。

2 个答案:

答案 0 :(得分:1)

您可能不希望尝试在活动之间保持线程运行。在活动暂停时管理它只会给你带来麻烦。当您从活动转移到活动时,将时间存储在Application中要容易得多。无论实际加载哪个Activity,Application都会持续一段时间。事实上,你在各种活动中都有一个同名的TextView既不是在这里也不是......它不是“相同的”TextView ......它只是看起来(和气味)相似。因此,您可以在应用首次启动时抓住时钟,并在任何给定时间查看当前时间与当前时间之间的差异。

然后只需使用Timer更新您所在的活动中的字符串。

如果您对应用程序不熟悉,那么您将发现真正的Eureka(Android教程一直忽略它,出于某种原因,让您做各种非常难看的Intent传递替代方案)。 / p>

如果您对如何使用它有任何疑问,请在评论中跟进,我会添加详细信息。

答案 1 :(得分:0)

我认为你必须考虑使用Service

  

因此,服务本身实际上非常简单,提供两个主要的   特性:

     
      
  • 应用程序的工具,用于告诉系统它想要在后台执行的操作(即使用户不是   直接与应用程序交互)。这对应于通话   到Context.startService(),它要求系统安排工作   服务,直到服务或其他人明确运行   停止它。
  •   
  • 应用程序的一个工具,用于将其某些功能公开给其他应用程序。这对应于调用   Context.bindService(),它允许长期连接   为了与之互动而对服务做出了贡献。当一个服务   实际上,由于上​​述任何一个原因,组件都被创建了   系统实际上是实例化组件并调用它   onCreate()和主线程上的任何其他适当的回调。它   是由服务来实现这些与适当的行为,   例如创建一个辅助线程来完成它的工作。
  •