特定于版本的Android API和方法

时间:2012-03-05 18:24:25

标签: android android-asynctask compatibility android-2.3-gingerbread android-3.0-honeycomb

我正在开发一个最初为Honeycomb设计的项目;我们想让它与2.3.3兼容。我这样做是通过将原始项目的副本转换为库项目,将该库包含到几个新项目中,并将新项目中的一些元素子类化为使用特定的API。

但是我们有很多AsyncTask<...>个子类; AsyncTask<...>存在于2.3.3中,但我们实现的onCancelled()方法仅存在于Honeycomb之后。我担心如果我将这些类留在中央库项目中,onCancelled()方法将不会被命中,因为(有效地)它是针对2.3.3 Android库构建的,它没有它。但是,我不想在没有充分理由的情况下在每个子项目中重现这些类,我无法看到子类化如何使任何更好的东西:超类仍然会反对AsyncTask<...>的2.3.3版本。我的问题是:Java / Android是否允许这样做,onCancelled()会在更高版本的Android中出现吗?

1 个答案:

答案 0 :(得分:0)

您可以重新发送多个APK。一个用于蜂窝和更高级别的API级别,一个用于previos API级别。否则,您应该使用兼容性软件包,但此软件包不支持所有API。 对于多个APK支持:http://developer.android.com/guide/market/publishing/multiple-apks.html