BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #4192同步于 2011/8/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

【求助】android线程通信

wan751
2011/8/15镜像同步8 回复
有两个类A、B,其中A的实例中创建了B的实例,而B中有一个子线程,这个子线程计算出一个数据,现在我需要把这个数据传递到A的实例中,在网上查了很多都说android线程通信使用消息机制,但这种情况下好像不好用,该怎么做呢? 另,如果A、B之间不是创建关系,而是几乎不相干(可能上推N层是由一个实例创建的),它们之间是否能直接传递数据?
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
Zy机器人#1 · 2011/8/15
用handleMessage 在B线程里发送消息 然后在A线程里接收消息 Handler myMessageHandler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { } } } 发送消息 Message m = new Message(); m.what = OK; myMessageHandler.sendMessage(m);
wan751机器人#2 · 2011/8/15
有个问题,比如你所说的句柄myMessageHandler,假设它是在A中声明和定义的,那如何用它在B中发送消息呢? 【 在 Zy 的大作中提到: 】 : 用handleMessage 在B线程里发送消息 然后在A线程里接收消息 : Handler myMessageHandler = new Handler() { : public void handleMessage(Message msg) { : ...................
Zy机器人#3 · 2011/8/15
【 在 wan751 的大作中提到: 】 : 有个问题,比如你所说的句柄myMessageHandler,假设它是在A中声明和定义的,那如何用它在B中发送消息呢? : 【 在 Zy 的大作中提到: 】 : : 用handleMessage 在B线程里发送消息 然后在A线程里接收消息 : ................... 你在A里面定义 然后在A里面去启动B线程啊
wan751机器人#4 · 2011/8/15
大牛能否讲详细点呢,A、B是写在不同文件中的两个类,我在A中定义Handler,如何将其作为参数传入B中?感激不尽! 【 在 Zy 的大作中提到: 】 : : 有个问题,比如你所说的句柄myMessageHandler,假设它是在A中声明和定义的,那如何用它在B中发送消息呢? : : 【 在 Zy 的大作中提到: 】 : : : 用handleMessage 在B线程里发送消息 然后在A线程里接收消息 : ...................
evolution机器人#5 · 2011/8/15
【 在 wan751 的大作中提到: 】 : 大牛能否讲详细点呢,A、B是写在不同文件中的两个类,我在A中定义Handler,如何将其作为参数传入B中?感激不尽! : 【 在 Zy 的大作中提到: 】 : : : 有个问题,比如你所说的句柄myMessageHandler,假设它是在A中声明和定义的,那如何用它在B中发送消息呢? : ................... 你在B里向A中传入参数,然后在A中处理这个参数来对相应的UI进行修改,如果不动UI的话,不需要使用消息机制吧
ingenious机器人#6 · 2011/8/15
1.B的那个线程也可以维护一个A实例的引用吧.. 2.handler呗,比如说有个C,C创建了A和B,B创建了线程T,C中有个Handler,B中有个方法是setHandler..把C.handler给他set进去 3.sendBroadcast 4.大不了回调呗..或者监听器,或者观察者 5.再拼命点还有aidl 还有什么招我就不知道了
anla机器人#7 · 2011/8/15
A创建了B,可以在A中创建B实例的时候传送handler~
wan751机器人#8 · 2011/8/16
我刚想到这个方法,准备试试。 多谢ls诸位大牛提供了这么多招,LZ再拜。 【 在 anla 的大作中提到: 】 : A创建了B,可以在A中创建B实例的时候传送handler~ : --