Запуск Java приложения с GUI на смартфоне [закрыт]

182
01 ноября 2018, 05:30

Можно ли как-то запустить Java проект с использованием GUI на мобильном устройстве?

Answer 1

java-проект для десктопа с GUI на Swing, AWT, SWT, JavaFX и тп. нельзя запустить на андроид-смартфоне без существенной переделки.

В первую очередь полнстью переписав всю GUI-часть, так как андроид имет свой собственный GUI, никак не совместимый с вышеперечисленными.

Так же структура андроид-приложения кардинально отличается от структуры десктоп-приложения, начиная от точки входа и заканчивая взаимодействием с переферией.

Android имеет собственный фреймворк взаимодействия с системой (API Android) никаким образом не совместимый с десктопом, но совешенно необходимый для работы программы.

Фактически от десктоп-приложения на Java при переносе его на платформу Android останется только какая-то незначительная часть бизнес-логики, так, взаимодействие с сетью, базой данных и др. в андроид реализуется иначе и десктопный код будет почти бесполезен (остануться только сами запросы).

В завершение - программы Android имеют собственный формат APK. Чтобы просто запустить на андроид-смартфоне программу с форматом JAR нужно приложить некоторое количество усилий, в стоке андроид не дает возможности исполнить такой формат программ.
Страдает совместимость и на уровне VM. в андроид используется виртуальная машина ART (ранее Dalvik), в десктопе JavaVM - это тоже потенциальный источник проблем.

PS: вообще есть обходные пути: какие то порты и попытки реализовать кроссплатформенность (как этот ответ), но результат скорее всего будет плачевным. Так же есть некоторое количество java-эмуляторов под Android, насколько они справятся с задачей тоже вопрос открытый.

READ ALSO
Spring boot не отдается страница

Spring boot не отдается страница

Начинаю разбираться со спрингомНе работает самый банальный пример, со статьи на хабре

161
Выбор среды разработки

Выбор среды разработки

Хочу попробовать разрабатывать под андроид на Java, работал в intelliJ idea до этого, привык к ней, установил андроид студио и вопрос вот в чем: будет...

151
Передать параметр в REST controller

Передать параметр в REST controller

Столкнулся с задачей в вебприложении - при смене email у юзера необходимо запросить парольС написанием бэкенда проблем нет (пишу на java), с ангуляром...

161
Как указать Hibernate путь к properties

Как указать Hibernate путь к properties

Пишу с учебной целью web приложение на javaНастраиваю hibernate с помощью Spring в context

148