我有一个调用webservice并进行xml解析的活动。我希望我的活动等待xml解析类执行,然后我希望我的活动继续。我想知道是否有一个事件委托概念存在于android中,通过它我可以让我的xml解析类在它结束时响应我的活动。
答案 0 :(得分:9)
是的,有。你会喜欢ResultReceiver
课程。要创建一个,您需要传递Handler
(在活动中创建),并覆盖onReceiveResult
方法。
因此,您所做的是将ResultReceiver
的引用发送到服务(使用Intent
附加内容),并在完成XML解析后调用send
方法来自Service
。这样,您的活动将被通知XML解析已完成。
有一个Google IO video解释了这种技术。您也可以在会议中使用download the slides。
如果您需要示例代码,请查看iosched应用。它将教会如何创建一个ResultReceiver
代理,以帮助您处理配置更改(例如设备轮换更改)...因为,如您所知,当重新启动UI时,它可能会导致内存泄漏(您知道,该服务将指向不存在的UI元素)。