0

我正在将 API 包装器从 iOS 移植到 Android。在 iOS 包装器中,我们有一个非常大的类,其中包含所有可能的 API 函数。当我们调用一个函数时,我们将回调方法作为匿名函数传递。

我想知道如何在android中做同样的事情。一种方法是让 API 类使用 AsyncTask 调用 onPostExecute 的 processFinish 函数实现一个接口,但是 processFinish 的实现将有一大堆条件,具体取决于调用哪个 API 函数。如果不提出所有这些条件,我将如何做到这一点?

4

2 回答 2

0

我相信我正在寻找的答案是匿名函数

于 2013-10-21T20:47:18.797 回答
0

一种类似于传入回调的方法,您可以将其用于 Android 上的 api 实现,涉及“消息循环器”和“处理程序”。

处理程序可以内联使用,就像函数作为回调传递一样。从这个异步 Http示例中可以看出,处理程序实现可以是非常健壮的 Objects(runnable) 。

一般来说,您可以将您的 api 划分为对象层次结构,当您在 android 中“获取消息”时,您传入适当的对象,当处理程序被回调时,它可以调用之前提供的对象(您的 api 类)处理程序。

快速浏览一下“定义处理程序”,如果它看起来对您有用,那么请关注上一个链接中使用 http 的高级示例。用您的 api 对象层次结构替换所有 httpclient 行为。

于 2013-10-21T16:38:42.010 回答