我们正在开发一个S60版本,这个平台有一个不错的Python API。。

然而,Android上的Python并没有什么官方规定,但既然Jython存在,有没有办法让蛇和机器人一起工作??


当前回答

使用SL4A(它已经在其他答案中提到),您可以运行一个完整的web2py实例(其他python web框架也可能是候选)。SL4A不允许您使用本机UI组件(按钮、滚动条等),但它支持WebViews。WebView基本上只不过是指向固定地址的条带化web浏览器。我相信本地Gmail应用程序使用WebView而不是常规的小部件路线。

这条路线有一些有趣的特点:

在大多数python web框架的情况下,您实际上可以在不使用android设备或android模拟器的情况下进行开发和测试。无论你最终为手机编写了什么Python代码,只要稍加修改(如果有的话),就可以将其放到公共Web服务器上。你可以利用所有疯狂的网络资源:查询、HTML5、CSS3等。

其他回答

您可以使用sl4a运行Python代码。sl4a支持Python、Perl、JRuby、Lua、BeanShell、JavaScript、Tcl和shell脚本。

您可以学习sl4a Python示例。

交叉编译和Ignifuga

我的博客有针对Android的Python 2.7.2交叉编译的说明和补丁。

我还开源了我的2D游戏引擎Ignifuga。它基于Python/SDL,并为Android进行交叉编译。即使你不在游戏中使用它,你也可以从代码或生成器实用程序中获得有用的想法(以Tim的名字命名为Schafer……你知道是谁)。

您可以使用QPython:

它有Python控制台、编辑器以及包管理/安装程序

http://qpython.com/

这是一个同时具有Python 2和Python 3实现的开源项目。您可以直接从github下载源代码和Android.apk文件。

QPython 2:https://github.com/qpython-android/qpython/releases

QPython 3:https://github.com/qpython-android/qpython3/releases

Android版Pygame子集

Pygame是一个适用于Python(桌面)的2D游戏引擎,深受新程序员的欢迎。Android的Pygame子集描述自己为。。。

…Pygame功能子集到Android平台的端口。该项目的目标是允许创建特定于Android的游戏,并简化游戏从类似PC的平台到Android的移植。

示例包括一个完整的APK游戏,非常有趣。

作为一名Python爱好者和Android程序员,我很遗憾地说,这不是一条好的道路。有两个问题:

一个问题是,Android开发工具不仅仅是一种编程语言。许多Android图形都包含配置显示的XML文件,类似于HTML。内置的java对象与这个XML布局集成在一起,从逻辑到位图比编写代码要容易得多。

另一个问题是G1(可能还有不久的将来的其他Android设备)没有那么快。200MHz处理器和RAM非常有限。即使在Java中,如果你想让你的应用程序完美流畅,你也必须进行大量的重写,以避免更多的对象创建。Python在移动设备上的运行速度暂时会太慢。