【发布时间】:2012-06-22 14:57:51
【问题描述】:
前几天我遇到了一个名为 Jython 的 Python 实现。
使用 Jython,您可以使用 Python 编写 Java 应用程序并将它们编译为纯 Java。
我想知道:Android 编程是用 Java 完成的。
那么,是否可以使用 Jython 制作 Android 应用程序?
【问题讨论】:
-
Python 与 java 的互操作性并不出色。如果你想要原生和漂亮的 ui,你不得不使用 java/scala。如果你对非原生 ui 没问题,你可以使用 qt for android + python wrapper + 在 python 中编写代码。
-
@tabbykitten,Python 和 Java 之间的互操作正是 Jython 所做的 所提供的。
-
你能创建扩展 android.app.Activity 的 Jython 类吗?
-
@tabbykitten 为了清楚起见,最好这样问:Jython 是否允许您编写 Java 类(或特定 Java 类)的 Python 子类?是的。 Yes, it does。 “编写 Jython 类”有点模棱两可,因为 Jython 只是一个 Python 实现(不是 OP 所说的方言),所以它可能意味着一个构成 jython 本身 一部分的类(这很简单可以继承 Java 类,因为 Jython 是用 Java 编写的)。
-
真正的问题,至少对于当前的 Jython,在整个线程中完全被忽略了,包括公认的答案:Jython 也生成和加载字节码在运行时。天生的。即使它可以将其作为 dexed 字节码或以某种方式在运行时对其进行 dex 处理,Android 也不允许在运行时加载新字节码 (AFAIK)。不幸的是,如果没有重大的重新设计,Android 上的 Jython 目前是不可行的。见sourceforge.net/p/jython/mailman/message/36752389