我们正在开发一个S60版本,这个平台有一个不错的Python API。。
然而,Android上的Python并没有什么官方规定,但既然Jython存在,有没有办法让蛇和机器人一起工作??
我们正在开发一个S60版本,这个平台有一个不错的Python API。。
然而,Android上的Python并没有什么官方规定,但既然Jython存在,有没有办法让蛇和机器人一起工作??
当前回答
蓝绿色的
Chaquopy是Android Studio基于Gradle的构建系统的插件。它专注于与标准Android开发工具的紧密集成。
它提供了从Python调用Java或从Java调用Python的完整API,允许开发人员使用最适合其应用程序每个组件的语言。它可以自动下载PyPI包并将其构建到应用程序中,包括选定的本地包,如NumPy。它支持从Python完全访问所有Android API,包括本地用户界面工具包(例如纯Python活动)。
这曾经是一个商业产品,但现在是免费和开源的。
(我是这个产品的创造者。)
其他回答
这里没有看到这篇文章,但你可以用Pyside和Qt来做,因为有了Neceditas,Qt可以在Android上运行。
目前看来这是一条相当混乱的路线,但最终可能是一条可行的路线。。。
http://qt-project.org/wiki/PySide_for_Android_guide
Kivy
我想补充@JohnMudd写的关于Kivy的内容。他描述的情况已经过去多年了,Kivy已经发生了实质性的变化。
在我看来,Kivy最大的卖点是它的跨平台兼容性。您可以使用任何桌面环境(Windows/*nix等)对所有内容进行编码和测试,然后将应用程序打包到一系列不同的平台上,包括Android、iOS、MacOS和Windows(尽管应用程序通常缺乏原生外观)。
使用Kivy自己的KV语言,您可以轻松地编写和构建GUI界面(它与JavaXML类似,但与TextView等不同,KV有自己的ui.widget用于类似的翻译),我认为这很容易采用。
目前,android的Buildozer和python是构建和打包应用程序的最推荐工具。我已经尝试了这两种方法,可以肯定地说,它们让用Python构建Android应用程序变得轻而易举。他们的指南也有很好的记录。
iOS是Kivy的另一大卖点。您可以使用相同的代码库,通过kivy ios Homebrew工具进行少量更改,尽管在设备上运行之前,构建需要Xcode(AFAIK Xcode中的ios模拟器目前不适用于x86架构构建)。还有一些依赖性问题,必须手动编译并在Xcode中摆弄才能成功构建,但这些问题不太难解决,Kivy Google Group的员工也很有帮助。
尽管如此,拥有良好Python知识的用户应该可以快速掌握基本知识。
如果您将Kivy用于更严肃的项目,您可能会发现现有模块不令人满意。但也有一些可行的解决方案。使用(正在进行中的)pyjnius for Android和pyobjus,用户现在可以访问Java/Objective-C类来控制一些本地API。
看看enamal native,它采用了react native概念并将其应用于python。
它允许用户使用原生Android小部件构建应用程序,并提供使用python中的Android和java库的API。
它还与android studio集成,并共享react的一些优秀开发功能,如代码重载和远程调试。
作为一名Python爱好者和Android程序员,我很遗憾地说,这不是一条好的道路。有两个问题:
一个问题是,Android开发工具不仅仅是一种编程语言。许多Android图形都包含配置显示的XML文件,类似于HTML。内置的java对象与这个XML布局集成在一起,从逻辑到位图比编写代码要容易得多。
另一个问题是G1(可能还有不久的将来的其他Android设备)没有那么快。200MHz处理器和RAM非常有限。即使在Java中,如果你想让你的应用程序完美流畅,你也必须进行大量的重写,以避免更多的对象创建。Python在移动设备上的运行速度暂时会太慢。
一种方法是使用Kivy:
用于快速开发应用程序的开源Python库它们利用了创新的用户界面,如多点触摸应用程序。
Kivy在Linux、Windows、OS X、Android和iOS上运行。您可以在所有支持的平台上运行相同的[python]代码。
Kivy Showcase应用程序