如何在Android中实现事件和委托概念?

时间:2011-03-01 13:11:57

标签: android

我有一个调用webservice并进行xml解析的活动。我希望我的活动等待xml解析类执行,然后我希望我的活动继续。我想知道是否有一个事件委托概念存在于android中,通过它我可以让我的xml解析类在它结束时响应我的活动。

1 个答案:

答案 0 :(得分:9)

是的,有。你会喜欢ResultReceiver课程。要创建一个,您需要传递Handler(在活动中创建),并覆盖onReceiveResult方法。

因此,您所做的是将ResultReceiver的引用发送到服务(使用Intent附加内容),并在完成XML解析后调用send方法来自Service。这样,您的活动将被通知XML解析已完成。

有一个Google IO video解释了这种技术。您也可以在会议中使用download the slides

如果您需要示例代码,请查看iosched应用。它将教会如何创建一个ResultReceiver代理,以帮助您处理配置更改(例如设备轮换更改)...因为,如您所知,当重新启动UI时,它可能会导致内存泄漏(您知道,该服务将指向不存在的UI元素)。