Programowanie aplikacji na Androida w jython

Pewnego dnia natknąłem się na implementację Pythona o nazwie Jython.
Z Jython możesz pisać aplikacje Java w Pythonie i kompilować je do czystej Javy.

Zastanawiałem się: programowanie Androida odbywa się w Javie.
Czy można tworzyć aplikacje na Androida za pomocą Jython?

Author: mid_kid, 2012-06-20

6 answers

Jython nie kompiluje się do "czystej Javy", kompiluje do Java bytecode - ie, do *.class plików. Aby rozwinąć dla Androida, jeden kolejny kompiluje bajt java do Bajt Dalvik. Oznacza to, że tak, Jython Może pozwolić Ci używać Pythona do tworzenia Androida, pod warunkiem, że będziesz dobrze grał z Android SDK (osobiście tego nie próbowałem, więc nie wiem, jak ciężko to jest) - ty Czy musisz upewnić się, że nie polegasz na żadnych API Javy, których Android nie używa podczas uruchamiania jython należy podać, a może wymagać posiadania niektórych plików API Androida .class. Poza tymi drobnostkami, twój podstawowy pomysł powinien zadziałać - Jython rzeczywiście pozwala pisać kod w Pythonie, który współdziała z wszystkim innym, co działa na JVM.

 40
Author: lvc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-20 14:44:01

Tak długo, jak kompiluje się do czystej Javy (z pewnymi ograniczeniami, ponieważ niektóre API nie są dostępne), ale wątpię, że python będzie przydatny w rozwoju specyficznych dla Androida rzeczy, takich jak działania i Kod manipulacji UI.

Trzeba również zadbać o rozmiar aplikacji - to poważne ograniczenie dla rozwoju mobilnego.

 3
Author: Konstantin Pribluda,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-20 14:31:11

Tak i nie. Z jython możesz używać klas java do kompilacji dla JVM. Ale Android używać DVM (Dalvik Virtual Machine) i skompilowany kod jest inny. Musisz użyć narzędzi do konwersji z kodu JVM do DVM.

 1
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-14 08:34:28

Szczególnie lubię Kivy

Scripting Layer for Android (SL4A) przenosi języki skryptowe do systemu Android, umożliwiając edycję i wykonywanie skryptów oraz interaktywnych interpreterów bezpośrednio na urządzeniu z Androidem.

 1
Author: Freeman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-09 11:17:41

To niemożliwe. Nie możesz używać jythona z Androidem, ponieważ DVM tego nie rozumie. DVM to nie JVM.

 -3
Author: The VOYOU,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-20 10:27:45

Niestety Nie.

Telefony komórkowe mają tylko Java ME (Micro Edition), ale Jython wymaga Java SE (Standard Edition). Nie ma dla mnie portu Jython i nie ma wystarczającego zainteresowania, aby było warte wysiłku.

 -3
Author: user3224611,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-03 16:38:00