我们正在开发一个S60版本,这个平台有一个不错的Python API。。
然而,Android上的Python并没有什么官方规定,但既然Jython存在,有没有办法让蛇和机器人一起工作??
我们正在开发一个S60版本,这个平台有一个不错的Python API。。
然而,Android上的Python并没有什么官方规定,但既然Jython存在,有没有办法让蛇和机器人一起工作??
当前回答
QPython公司
我使用QPython应用程序。它是免费的,包括一个代码编辑器、一个交互式解释器和一个包管理器,允许您直接在设备上创建和执行Python程序。
其他回答
使用SL4A(它已经在其他答案中提到),您可以运行一个完整的web2py实例(其他python web框架也可能是候选)。SL4A不允许您使用本机UI组件(按钮、滚动条等),但它支持WebViews。WebView基本上只不过是指向固定地址的条带化web浏览器。我相信本地Gmail应用程序使用WebView而不是常规的小部件路线。
这条路线有一些有趣的特点:
在大多数python web框架的情况下,您实际上可以在不使用android设备或android模拟器的情况下进行开发和测试。无论你最终为手机编写了什么Python代码,只要稍加修改(如果有的话),就可以将其放到公共Web服务器上。你可以利用所有疯狂的网络资源:查询、HTML5、CSS3等。
这里没有看到这篇文章,但你可以用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。
您可以使用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
另一个选项似乎是pyqtdeploy,引用文档如下:
一种工具,与Qt提供的其他工具一起使用Python编写的PyQt4和PyQt5应用程序的部署v2.7或Python v3.3或更高版本。它支持部署到桌面平台(Linux、Windows和OS X)和移动平台(iOS和Android)。
根据通过pyqtdeploy和Qt5将PyQt5应用程序部署到Android上的说法,它是积极开发的,尽管很难找到运行Android应用程序的示例或如何将所有必需的库交叉编译到Android的教程。不过,这是一个值得记住的有趣项目!