我们正在开发一个S60版本,这个平台有一个不错的Python API。。
然而,Android上的Python并没有什么官方规定,但既然Jython存在,有没有办法让蛇和机器人一起工作??
我们正在开发一个S60版本,这个平台有一个不错的Python API。。
然而,Android上的Python并没有什么官方规定,但既然Jython存在,有没有办法让蛇和机器人一起工作??
当前回答
Android脚本层
SL4A可以随心所欲。您可以从他们的网站轻松地将其直接安装到您的设备上,而不需要root用户。
它支持多种语言。Python是最成熟的。默认情况下,它使用Python 2.6,但有一个3.2端口可以替代。我曾在Galaxy S2上使用过该端口进行各种操作,并且工作正常。
API
SL4A为每种受支持的语言提供了一个android库端口。该库通过单个Android对象提供了与底层Android API的接口。
from android import Android
droid = Android()
droid.ttsSpeak('hello world') # example using the text to speech facade
每种语言都有几乎相同的API。您甚至可以在webview中使用JavaScript API。
let droid = new Android();
droid.ttsSpeak("hello from js");
用户界面
对于用户界面,您有三个选项:
您可以通过应用程序编程接口。这对于确认对话和其他基本用户输入很有用。您还可以从Python脚本内部打开一个Web视图,然后使用HTML5用于用户界面。当您使用Python中的webview时,可以通过在webview和Python进程之间来回发送消息UI将不是原生的,但它仍然是一个很好的选择有有一些对原生Android用户界面的支持,但我不是确定它的效果如何;我只是从来没有用过。
你可以混合选项,这样你就可以在主界面上有一个webview,并且仍然使用本机对话。
QPython公司
有一个名为QPython的第三方项目。它建立在SL4A之上,并加入了一些其他有用的东西。
QPython为您提供了一个更好的UI来管理您的安装,并包括一个小的触摸屏代码编辑器、一个Python外壳和一个用于包管理的PIP外壳。它们还有一个Python 3端口。这两个版本都可以从Play商店免费获得。QPython还将Android项目(包括Kivy)上的Python库捆绑在一起,因此它不仅仅是SL4A。
请注意,QPython仍在开发SL4A的分支(不过,老实说不多)。主要的SL4A项目本身几乎已经死亡。
有用的链接
SL4A项目(现在在GitHub上):https://github.com/damonkohler/sl4aSL4A Python 3端口:https://code.google.com/p/python-for-android/wiki/Python3QPython项目:http://qpython.com学习SL4A(教程):https://www.tutorialspoint.com/sl4a/index.htm
其他回答
Termux公司
您可以使用为Android提供POSIX环境的Termux应用程序来安装Python。
注意,apt-install-python将在Termux上安装Python3。对于Python2,您需要使用apt-installpython2。
一些演示:https://www.youtube.com/watch?v=fqqsl72mASEGitHub项目:https://github.com/termux
您可以使用sl4a运行Python代码。sl4a支持Python、Perl、JRuby、Lua、BeanShell、JavaScript、Tcl和shell脚本。
您可以学习sl4a Python示例。
使用SL4A(它已经在其他答案中提到),您可以运行一个完整的web2py实例(其他python web框架也可能是候选)。SL4A不允许您使用本机UI组件(按钮、滚动条等),但它支持WebViews。WebView基本上只不过是指向固定地址的条带化web浏览器。我相信本地Gmail应用程序使用WebView而不是常规的小部件路线。
这条路线有一些有趣的特点:
在大多数python web框架的情况下,您实际上可以在不使用android设备或android模拟器的情况下进行开发和测试。无论你最终为手机编写了什么Python代码,只要稍加修改(如果有的话),就可以将其放到公共Web服务器上。你可以利用所有疯狂的网络资源:查询、HTML5、CSS3等。
QPython公司
我使用QPython应用程序。它是免费的,包括一个代码编辑器、一个交互式解释器和一个包管理器,允许您直接在设备上创建和执行Python程序。
还有新的Android脚本环境(ASE/SL4A)项目。它看起来很棒,并且与原生Android组件有一些集成。
注意:不再处于“主动开发”状态,但可能会出现一些分叉。