Может ли компьютерный класс Java работать на телефонах Android? [закрыто]


0

Не уверен, смогу ли я спросить об этом здесь или в переполнении стека ...

Может ли обычная Java (Computer-Grade Java) работать на телефонах Android? Или это две совершенно разные версии Java?

Под компьютерным классом Java я имею в виду проекты от Eclipse и Netbeans (с папками проектов и файлами сборки)


1
StackOverflow лучше. Я отметил это для перемещения в StackOverflow ..
Tonny

1
эх. А не действительно так много по теме здесь, хотя я позволю сообществу принять решение по этому вопросу.
Journeyman Geek

Ответы:


2

Типичные телефоны, работающие под управлением операционных систем, таких как Android, имеют собственную JVM (виртуальную машину Java). JVM отвечает за обработку так называемого «байт-кода». Вы можете думать о JVM как о виртуальном процессоре, который способен обрабатывать байт-код. Это сложнее, чем это, но я не буду вдаваться в подробности этого.

По сути, у вас есть несколько JVM для разных архитектур ЦП (например, ARM для телефонов и x86 для настольных компьютеров). Эти JVM могут обрабатывать байт-код и таким образом обеспечивать согласованное взаимодействие между устройствами. Однако, если библиотеки, на которые опирается ваше приложение, требуют собственных системных API, это не сработает. Поэтому, если вы пишете обычное старое приложение Java с использованием Swing или SWT, оно не будет работать на Android, поскольку Android не предоставляет эти API (насколько мне известно) для использования. Кроме того, у Android есть очень специфическая настройка того, как работают их приложения, и Android предоставляет собственную реализацию JVM. Это очень отличается от оракулов.

Поэтому, если вы просто кодируете что-то на Java, например, приложение командной строки или простое приложение с пользовательским интерфейсом, вы не сможете заставить это работать на Android, как на своем ПК.


Ого. Очень хороший ответ.
GipsyD
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.