【发布时间】:2011-04-06 05:28:32
【问题描述】:
我一直在观看 Virgil Dobjanschi 的 Google I/O 演示文稿,介绍了使用服务和内容提供程序在 Android 上实施 REST 的正确方法。 http://code.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html
根据视频,我做事的方式是错误的,考虑到正确的方式有多难,这并不奇怪。无论如何,在视频中向我展示了应许之地后,我在弄清楚如何到达那里时遇到了一些问题。
我已经完成了大部分工作,但让我失望的一件事是 Virgil 在幻灯片中引用的 Binder 回调(参见上面的链接),在第 43 页上,它显示第 2 步是使用 startService(intent) 和 step 启动服务10 使用 Binder 回调返回状态信息。演示文稿中的任何地方都没有示例代码,这相当令人沮丧。有人谈论要开源 Twitter 客户端,它显然使用了这种方法,但还没有,并且宣布是在 4 月。
在视频中他说:“什么是活页夹回调?活页夹回调,将其视为在请求意图中传递的接口。”
我到处搜索,但找不到任何说明如何将回调作为意图的一部分传递的文档或示例。我也想不出任何其他传递回调的方法。
我认为他可能指的是绑定到服务并以这种方式实现回调。但是,他专门指的是本地服务并使用 strarSerice() 而不是 bindService()。同样使用 bindService() 如果活动被破坏,服务将被破坏,这违背了这个想法。解决方法是先使用 startService(),然后使用 bindService(),让服务在这段时间内保持运行。 bindService() 的另一个问题是在 onServiceConnected() 完成之前无法使用回调,这使代码更加复杂,因为操作指令无法在意图中传递,因为返回回调可能无法及时返回结果。
我只对使用推荐的方法来实现它感兴趣。任何人都可以了解 Binder 回调是什么以及如何对其进行编码。也与此相关,有谁知道除了狂欢单身人士之外,Service Helper 会是什么样子吗?
这里的任何帮助将不胜感激。 谢谢 克莱夫
【问题讨论】:
标签: android callback android-intent