2014-01-10 109 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.其他功能可在以前的平臺上使用。

相關問題