我很困惑什麼是「跨平臺」的真正含義。我們可以開發一個可以在Windows和Linux或Mac上運行的Java應用程序。但是,如果兩個人都可以安裝Java虛擬機,我們是否也可以開發一款可在Android智能手機和Windows PC上運行的應用程序?什麼Java「跨平臺」真的意味着什麼?
回答
是的,您可以編寫一個應用程序,該應用程序在任何支持與該程序寫入的JVM兼容的計算機上運行的計算機上運行。除了兼容的JVM之外,應用程序可能依賴於某些庫,所有這些必須能夠在可用的JVM上運行,並可供應用程序使用。例如,我可以編寫一個'桌面GUI'應用程序,使用Swing軟件包和一個從1.4開始的JVM。假設我使用依賴Java版本1.6的語言功能。該應用程序可以在任何具有1.6或更高JVM的計算機上運行,並且具有可用的Swing庫(以及任何其他庫)。
Android使用專門的UI系統,根據其環境,這是有意義的。我不瞭解開發環境以外的任何系統,它們允許您在其他機器上運行Android UI,但不認爲這很難做到。但我也不知道它有很多市場。幾乎沒有足夠的桌面有觸摸屏,Android UI必須在非常基本的層面上支持。
這是否意味着當我將Swing庫導入到Android設備中時,我將能夠運行使用Swing UI的任何應用程序? – Incredible 2014-10-06 18:51:43
這意味着如果你能夠在Android上使用Swing庫,那麼你可以在Android上運行Swing。雖然我懷疑這是可能的,但我沒有直接的信息。我期待這種方式,Swing實現方式中的某種方式可以從Swing發揮其魔力的底層操作系統中獲取畫布,並且在Android中並不一定有相同的構造。但是,嘿,我聽說他們已經將Win95移植到了手錶上,所以誰知道呢? – arcy 2014-10-06 19:02:20
- 1. Cocoapods平臺,究竟意味着什麼?
- 2. c3p0:maxIdleTime真的意味着什麼?
- 3. 對於IPreInsertEventListeners,真假意味着什麼?
- 4. 真空數據庫意味着什麼?
- 5. 什麼是「:before:after:around」在defmethod中真的意味着什麼?
- 6. 什麼?意味着iOS的
- 7. Java中的空間意味着什麼?
- 8. 〜=是什麼。在Stata意味着什麼?
- 9. 什麼(.browser-default).valid意味着什麼?
- 10. void **意味着什麼
- 11. PREEMPTIVE_XE_DISPATCHER這意味着什麼?
- 12. Field.Index.NOT_ANALYZED_NO_NORMS意味着什麼
- 13. HttpServletResponse.SC_BAD_REQUEST意味着什麼?
- 14. 什麼呢##意味着在$ {}
- 15. Solr意味着什麼?
- 16. 溢出意味着什麼?
- 17. 什麼===在PHP意味着
- 18. * | *這意味着什麼CSS?
- 19. 什麼<?意味着
- 20. 什麼。意味着在PHP?
- 21. %是什麼〜DP0意味着
- 22. 什麼-Dauto意味着
- 23. 什麼%*%意味着R中
- 24. AccountExpirationDate意味着什麼?
- 25. 這是&意味着什麼?
- 26. $這意味着什麼PHP?
- 27. 什麼呢JDBC:HSQLDB:hsqlTempFiles意味着
- 28. 奎因意味着什麼?
- 29. malloc意味着什麼(int *)?
- 30. MYSQLI_NUM意味着什麼?
你可能聽說過* Java是跨平臺*,你有沒有聽說過* Android是跨平臺*? – TheLostMind 2014-10-06 15:11:31
和Windows是跨平臺的?爲什麼應用程序可以在Windows和Mac上運行,但不能在Android上運行? – Incredible 2014-10-06 15:12:34
Android!= Java,Android只是java語法,但是代碼被編譯爲字節碼(java)和dalvik字節碼(android)。 – maszter 2014-10-06 15:13:20