我正在写一个社交游戏,但我仍然坚持如何创建一个计时器线程,该线程适用于显示时间流逝的活动,例如能量等属性。每个活动都有能量文本视图,但线程一次只能更新一个视图。请注意,我不使用androids计时器类,但已创建自己的线程类。
答案 0 :(得分:1)
您可能不希望尝试在活动之间保持线程运行。在活动暂停时管理它只会给你带来麻烦。当您从活动转移到活动时,将时间存储在Application中要容易得多。无论实际加载哪个Activity,Application都会持续一段时间。事实上,你在各种活动中都有一个同名的TextView既不是在这里也不是......它不是“相同的”TextView ......它只是看起来(和气味)相似。因此,您可以在应用首次启动时抓住时钟,并在任何给定时间查看当前时间与当前时间之间的差异。
然后只需使用Timer更新您所在的活动中的字符串。
如果您对应用程序不熟悉,那么您将发现真正的Eureka(Android教程一直忽略它,出于某种原因,让您做各种非常难看的Intent传递替代方案)。 / p>
如果您对如何使用它有任何疑问,请在评论中跟进,我会添加详细信息。
答案 1 :(得分:0)
我认为你必须考虑使用Service:
因此,服务本身实际上非常简单,提供两个主要的 特性:
- 应用程序的工具,用于告诉系统它想要在后台执行的操作(即使用户不是 直接与应用程序交互)。这对应于通话 到Context.startService(),它要求系统安排工作 服务,直到服务或其他人明确运行 停止它。
- 应用程序的一个工具,用于将其某些功能公开给其他应用程序。这对应于调用 Context.bindService(),它允许长期连接 为了与之互动而对服务做出了贡献。当一个服务 实际上,由于上述任何一个原因,组件都被创建了 系统实际上是实例化组件并调用它 onCreate()和主线程上的任何其他适当的回调。它 是由服务来实现这些与适当的行为, 例如创建一个辅助线程来完成它的工作。