嘿所有,这将包含一些问题,因为我似乎没有真正得到它。
我有一节课,活动。应该显示信息。
然后我有一个后台线程,扩展runnable,它不断获取新数据(因为我没有使用AsyncTask,我可以将它用作服务,但由于我在其中拥有一些关键资源,我希望退出活动线程时没有释放它)
但我非常怀疑如何在这些之间进行沟通
首先我想到了Intent,但这些似乎主要用于启动其他活动,或类似的,我需要一些永久性的东西,因为数据将会稳定流动。
然后我找到了处理程序,但是当我的线程不是一个内部类时,这似乎不起作用,所以我想要回到旧的Java观察者模式,如果它不可能以某种方式将处理程序传递给外部类
任何想法都将不胜感激
此致 安德斯梅特尼克
答案 0 :(得分:0)
您的案例有一种机制 - 它被称为处理程序。阅读更多here。
将线程作为内部类: 将您的线程创建为一个单独的类,添加一个带有handler参数的构造函数并将其从您的activity中传递。
答案 1 :(得分:0)
线程不应该存在于Creator Activity Context之外,特别是你想要将它保留在Activity之外,更好地使用Service(并管理线程)来保存这些数据。
意图在上下文之间进行通信方面是最好的。我认为您可以采用的方案之一是这样的:
应用程序类:保存您提到的那些“永久”数据 服务级别:工作(后台)并发出“意图”以表示操作的更新状态 活动类:意图接收者。每当收到意图信号时,从Application类中获取必要的数据。