Вопрос по android, jython, python – Программирование приложений Android в Jython

55

На днях я наткнулся на реализацию Python под названием Jython.
С помощью Jython вы можете писать приложения на Java с Python и компилировать их в чистую Java.

Мне было интересно: программирование Android выполняется с помощью Java.
Итак, возможно ли создавать приложения для Android с помощью Jython?

Понятно ... Значит, вы не можете делать все, что можете в java с jython? mid_kid
@tabbykitten, что взаимодействие между Python и Java это именно то, что Jythondoes предоставлять. lvc
Python не имеет потрясающей совместимости с Java. Если вы хотите родной и приятный пользовательский интерфейс, вы вынуждены использовать Java / Scala. Если вы не против нативного пользовательского интерфейса, вы можете использовать qt для android + python wrapper + write code на python. logcat
Вы можете создать класс Jython, который расширяет android.app.Activity? logcat
@tabbykitten для ясности, лучше спросить это как: позволяет ли Jython писать подклассы Python классов Java (или этого конкретного класса Java)? И да.Yes, it does, & quot; Написание класса Jython & quot; немного двусмысленно, поскольку Jython - это просто реализация Python (а не диалект, как говорит OP), поэтому он может означать класс, который является частьюjython itself (который тривиально может создавать подклассы Java-классов, поскольку Jython написан на Java). lvc

Ваш Ответ

7   ответов
41

Jython не компилируется в «чистый Java», он компилируется вjava bytecode то есть*.class файлы. Для разработки под Android, далее компилируется байт-код Java в байт-код Dalvik. Это означает, что да, Jythoncan Позвольте вам использовать Python для разработки Android, при условии, что вы получите его, чтобы играть хорошо с Android SDK (я лично не пробовал это, поэтому я не знаю, насколько это сложно на самом деле) - выdo необходимо убедиться, что вы не зависите от любых API-интерфейсов Java, которые Android не предоставляет, иmight нужно иметь некоторые из Android API.class файлы вокруг, когда вы запускаете Jython. Помимо этих проблем, ваша основная идея должна работать - Jython действительно позволяет писать код на Python, который взаимодействует со всем, что работает на JVM.

Error: User Rate Limit ExceededwasError: User Rate Limit Exceeded
Error: User Rate Limit Exceededwiki.python.org/jython/JythonFaq/…Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededon the development machineError: User Rate Limit Exceeded
4

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

Вы также должны позаботиться о размере приложения - это серьезное ограничение для развития мобильных устройств.

Error: User Rate Limit Exceeded
0

Да, ты можешь.

Протестируйте свой код Python на своем компьютере и, когда все в порядке, скопируйте на устройство Android.

Установите Pydroid из Google Play Store и снова скомпилируйте свой код внутри приложения, и ваше приложение будет готово к работе.

Используйте pip внутри Pydroid для установки любых зависимостей.

PS: Вам нужно будет настроить устройство Android для установки APK вне Play Store.

-3

Это невозможно. Вы не можете использовать Jython с Android, потому что DVM не понимает этого. DVM не является JVM.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededno where is written there that the app is using jythonError: User Rate Limit ExceededThey are using pythonError: User Rate Limit Exceededpython/jythonError: User Rate Limit ExceededThere is a hug difference between python and jython.
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
1

И да и нет. С Jython вы можете использовать классы Java для компиляции для JVM. Но Android использует DVM (Dalvik Virtual Machine), и скомпилированный код отличается. Вы должны использовать инструменты для преобразования кода JVM в DVM.

2

Мне особенно нравитсяKivy

Сценарий для Android (SL4A) предоставляет языки сценариев для Android, позволяя редактировать и выполнять сценарии и интерактивные переводчики непосредственно на устройстве Android.

Error: User Rate Limit Exceeded*.apk?
-3

к сожалению нет.

Мобильные телефоны имеют только Java ME (Micro Edition), но Jython требует Java SE (Standard Edition). Нет порта Jython для ME, и недостаточно интереса, чтобы это стоило усилий.

Error: User Rate Limit ExceededNOTError: User Rate Limit Exceeded
Error: User Rate Limit ExceededreputationError: User Rate Limit Exceededcomment on any post.
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded

Похожие вопросы