Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
哪些版本的Android SDK支持在哪些版本的Java中编码?_Java_Android_Version_Android 2.2 Froyo_Android Sdk 2.3 - Fatal编程技术网

哪些版本的Android SDK支持在哪些版本的Java中编码?

哪些版本的Android SDK支持在哪些版本的Java中编码?,java,android,version,android-2.2-froyo,android-sdk-2.3,Java,Android,Version,Android 2.2 Froyo,Android Sdk 2.3,我当时正在为AndroidSDK2.3.3编写一个Android应用程序,但后来我被要求在运行Android2.2.1的设备上进行测试。所以我把目标定在8而不是10。但是java.util.concurrent.TimeUnit只有java 1.5特性集,而没有java.util.concurrent.TimeUnit的java 1.6/1.7特性集。所以我把openjdk 6的TimeUnit实现放进我的Android应用程序包中,一切都很好 有人知道我在哪里可以得到一些文档,这些文档给了我一

我当时正在为AndroidSDK2.3.3编写一个Android应用程序,但后来我被要求在运行Android2.2.1的设备上进行测试。所以我把目标定在8而不是10。但是java.util.concurrent.TimeUnit只有java 1.5特性集,而没有java.util.concurrent.TimeUnit的java 1.6/1.7特性集。所以我把openjdk 6的TimeUnit实现放进我的Android应用程序包中,一切都很好


有人知道我在哪里可以得到一些文档,这些文档给了我一个图表,告诉我,例如,当使用官方SDK时,Android 2.2必须使用Java 1.5关键字/语法/API进行编码,Android 2.3.3可以使用Java 1.6关键字/语法/API进行编码,等等?

您试图将Android视为Java的一个子集,但事实并非如此。他们完全分开了。尽管Android源于Java,但它与Java有很大的不同,两者之间不再存在“版本相关”的关系

您可以查看的是Android文档。对于每个指令/命令/方法/属性,您将在右上角找到可以访问所述属性的api级别

点击api级别将带您进入一个页面,其中包含一个将api级别转换为Android版本的表


确定是否允许使用属性的简单方法是使用eclipse并执行刚才所做的操作:更改目标api级别。然后,对您不可用的方法或属性的任何调用都将产生致命错误。

我觉得奇怪的是,Android会强迫您使用1.5,因为Java 1.6比Android旧。也许还有更多的事情要做。我打赌openjdk当时只达到了1.5,这与它有关。openjdk 7直到2011/07/28才发布。重复:和“并且两者之间不再有任何关联。”那不是真的吗?@Keyser-Yahel的观点似乎是,你不应该试图将android版本映射到特定的java版本,以找出支持什么-相反,你应该直接查看android文档。@Keyser:如果你想详细说明:)好的,我发现字节码是用ApacheHarmony编译的,然后字节码被转换成Dalvik字节码。我一直认为OracleJDK或您正在使用的任何JDK都创建了Java字节码,后来转换为Dalvik字节码。因此,安卓2.2及之前使用了99%完整的ApacheHarmonyJDK5.0。Android 2.3.3及更高版本使用了完成率达97%的Apache Harmony Java SE 6。因此,在使用官方工具编译Android应用程序时,不能使用JDK 7及以上版本的特定功能。@Robert:抱歉,Android和Java版本之间没有任何直接关联。Java是Android发展的基础,留下一些东西,根据需要添加新的东西。如果你尝试编写不同于Android的文档,那么你的生活只会变得更加艰难:)