2014-01-10 69 views
3

在Android Studio(0.4.2)的最新版本中,创建新项目时添加了新设置,即Language Level 我想知道这是指什么,以及选择任何提供的选项的结果。 该文档没有给我一个清晰的图片,我不想选择一个选项,当我不知道会导致什么? 谢谢android studio 0.3.2中的语言级别设置是做什么的?

+0

最后的版本是0.4.2 –

+0

是的,这是真的,我的错误。 –

回答

3

这是关于你想使用的Java语言级别。 KitKat支持完整的Java 7,姜饼和支持Java 6和更早的版本是Java 5.至少在涉及到核心Java API时。大致相同的设置被提及here

如果编译器知道如何去做,通常可以使用在旧版本中添加的语言功能。例如,Diamond Operator在Java 7中添加,但你仍然可以使用该功能,Java 6中,因为

List<String> list = new ArrayList<>(); 

实际上编译成同样的事情

List<String> list = new ArrayList<String>(); 

一样。

另一方面,“尝试使用资源”构造不能编译为合法的Java 6兼容代码,因此仅适用于需要KitKat及更高版本的应用程序。

1

答案可以说更好,恕我直言。 docs清楚Java 7及以下版本。

  1. 该设置会影响其Java语言的功能,你可以在源代码使用。
  2. 您将使用的所有Java语言功能都将被编译,以便代码可以在所有Android版本中运行,但“尝试使用资源”语言功能除外。
  3. 从文档:“如果您想使用资源尝试,您还需要使用19的minSdkVersion。您还需要确保Gradle使用JDK 1.7或更高版本(和0.6版本0.1或更高版本Android的摇篮插件。)”
0

Java 7的支持,在构建工具添加19现在可以使用功能,如钻石运营商,多抓,尝试,有资源,在弦开关等添加到你的build.gradle。

android { 
compileSdkVersion 19 
buildToolsVersion "19.0.0" 

defaultConfig { 
    minSdkVersion 7 
    targetSdkVersion 19 
} 

compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_7 
     targetCompatibility JavaVersion.VERSION_1_7 
    } 
} 

需要Gradle 1.7+,Android gradle插件0.6。+。

请注意,只有使用资源才需要使用minSdkVersion 19.其他功能可在以前的平台上使用。

相关问题