我正在为Android SDK 2.3.3编写Android应用程序但后来我被要求在运行Android 2.2.1的设备上进行测试。所以我将目标设置为8而不是10.但是java.util.concurrent.TimeUnit只有Java 1.5特性集,而不是java.util.concurrent.TimeUnit的Java 1.6 / 1.7特性集。所以我将TimeUnit的openjdk 6实现放入我的Android应用程序包中,一切正常。
有没有人知道我在哪里可以获得一些文档,它给我一个图表,告诉我,例如,当使用官方SDK时,Android 2.2必须使用Java 1.5关键字/语法/ API,Android 2.3.3进行编码可以使用Java 1.6关键字/语法/ API等编码......?
答案 0 :(得分:6)
您正在尝试将Android视为Java的一个子集,但事实并非如此。它们是完全分开的。尽管Android来自Java,但它已经离开了它,并且两者之间不再存在“版本明智”的相关性。
您可以看到的是Android文档。对于每个指令/命令/方法/属性,在右上角你会找到你能够访问所述属性的api级别。
点击api级别会转到一个页面,其中包含一个将api级别转换为Android版本的表格。
了解您是否被允许使用属性的简单方法是使用eclipse并执行您刚刚执行的操作:更改目标api级别。然后,对您无法使用的方法或属性的任何调用都将产生致命错误。