2017-05-25 28 views
0

多年前我學習了核心Java,因爲我讀到了Java的一個特性,那就是它與平臺無關。 參考:https://www.javatpoint.com/features-of-java爲什麼使用java編寫的應用程序只能在Android上運行,即使Java與平臺無關

現在我正在開發android,android應用程序是使用核心java開發的。那麼爲什麼這些應用程序在Windowsphone或ios中不受支持?

+1

導致Android編程使用只適用於Android的谷歌apis Android –

+1

Android與Java不同。 android的compliing過程與java不同。 –

+2

由於JVM,Java被認爲是平臺獨立的,但Android不使用JVM。他們使用Dalvik或其他什麼東西... – Sweeper

回答

1

在Java代碼首先被編譯,結果是字節代碼。這個字節代碼是平臺獨立的。這個代碼在JVM中執行。 JVM是JRE的一部分。每個平臺的JRE都不同。您需要根據您的平臺Windows或Linux下載並安裝JRE。

Android不使用JVM。編譯後的字節碼是在DVM上運行的轉換後的Dex字節碼。我們現在只有android的DVM。所以爲Android編寫的代碼無法在其他平臺上運行

0

Android開發使用Java作爲其主要開發語言之一。您還可以使用其他語言爲Android開發應用程序。例如,最近在這組語言中添加了Kotlin

當您編譯您爲Android應用程序編寫的代碼時,它會轉換爲適用於Android VM(Dalvik)的字節代碼,但不適用於Java自己的JVM。

這爲Android平臺提供了優勢,開發人員無需學習全新語言即可開發面向Android的應用。無論您瞭解哪種編程語言,都可以開發適用於Android的應用程序,並且在編譯代碼時,它將來自任何這些支持語言的代碼轉換爲可在Android VM上運行的相同字節代碼。

相關問題