TransWikia.com

Можно ли вызвать код python из Java на Android?

Stack Overflow на русском Asked by some1 on August 30, 2021

Есть ли какие-либо способы заставить работать скрипт на python вместе с кодом Java на Android. Если да то какие? Интересует именно связка python и java. Библиотеки вроде kivy и прочие для разработки на python под Android только от безысходности.

Если способы все-таки есть, подскажите как грамотно связать код в Android Studio, если это имеет значение.

One Answer

Тут есть два пути решения проблемы.

Первый, это использвоание библиотеки java, умеющей выполнять код питона. Самый известный пример это Jython. Но у такого подхода есть свои минусы. Например вы не сможете устанавливать библиотеки, частично написанные на C, и будет страдать скорость программ.

Второй, не побоюсь сказать более правильный, вариант - это связать Java и Python приложение через локальный сервер. Легче всего это сделать по REST API - обмен будет проводиться через JSON объекты. Очень быстро и удобно подобные сервера создаются на Flask-RESTful.

Создаете на локальном хосте (который почти всегда 127.0.0.1) и выбранном свободном порте RESTful сервер, который по обращению к нужной ссылке принимает JSON с нужными данными и отдает JSON с результатом

Со стороны Java надо сформировать JSON, отправить его по адресу https://<локальный хост>:<порт>/<путь>, получить JSON с ответом сервера и взять оттуда результат. <путь> определяется на сервере и может быть любым. Более того по разным путям вы можете иметь разные сервисы, в то время как сервер поддерживающий их будет один.

И вот, в два шага, связка Java с Python (или с чем угодно еще) через сервер готова.

Answered by Егор Малько on August 30, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP