我是Android新手。我有一个Python程序,它既是一个CGI脚本,也是一个基于SMS的小型数据库交互系统。这是一个由基层组织管理的需求极低的系统(少数用户)。但它需要稳定性,即不存在随机崩溃或停机时间。出于各种原因,在Android手机上运行这个程序可以解决现有设置的一些问题。然而,在我开始之前,我想检查一下这种系统的可行性。它必须:
在此阶段不需要与电话用户进行交互。
我知道需要的部分是存在的-web servers with CGI,SL4A等等,但是web服务器似乎主要是为了个人使用,SL4A清楚地声明它是"is alpha quality software"。各种各样的questions on SO relating to SL4A在这种用例上似乎也没有多大用处。他们专注于手机应用程序开发(比如this one)。
简而言之,这样一个体系会稳定吗?假设核心程序是健全的,我可以依赖它吗?
用于在Android中运行Python CGI脚本。基本上你需要一个能够在Android平台上运行CGI脚本的web服务器,但是,我没有找到。您需要toy CGI脚本来适应Cherrypy web服务器,它可以在Android上运行。
步骤如下:
8>;脚本需要传输到emulator中的/mnt/sdcard/sl4a/scripts目录。然后可以启动SL4A并点击脚本运行。如果在SL4A控制台中运行,则可以看到调试输出。
9>;在Android浏览器中,检查URL
http://localhost:8080/
。它会说“你好,世界”。这是一个web服务器集,我们可以放置python脚本来访问Android手机数据和其他可以向外部客户端公开的东西。
贷记给:see the screen shots here
其他信息:
micro-httpd (GET / POST / CGI support) cross-compiled to Android
python-for-android
Running "Hello, world!" as a CGI Script
我的建议:
我建议在raspberry pi中使用任何轻量级web服务器(比如node.js)
参考号:
TLDR:CherryPy是一个可靠的服务器,Android可能足够可靠,可以在这些日子里构建服务器。
我曾经维护一个使用CherryPy和SL4A的项目(对于websockets使用ws4py)。
Cherrypy3.2.2在Python2.6和Python3.2上运行得非常好。
应用程序通常运行一两天。看起来如果它跑得长一点就可以了,但是在开发过程中它重新启动了很多。
CherryPy一直都很好,但Android设备有时会崩溃,所以SL4A会不时退出,需要重新启动。对于仅用作服务器的设备,这可能不是问题。对我来说,当设备通宵运行时,它总是稳定的,但当我正常使用设备时(它是我的实际手机),它偶尔会崩溃。所有这些都是在Galaxy SII上,那时Android还像这样的小车。
装樱桃糖很容易。它是纯Python,所以您可以将副本放到路径的某个位置并导入(您也不需要模拟器)。
你可能很难让设备保持清醒。如果它一个人呆着,它就会睡着。你可以告诉它在开发者选项中保持清醒,但我非常确定,只有在设备充电的情况下才有效。
更新:Android现在更加稳定,但是SL4A项目的工作已经差不多结束了。有一个叫做QPython的项目将SL4A作为一个更大的应用程序的一部分来维护,所以这些事情仍然可以完成。
这里是我的一篇博客文章的链接,描述了如何在10分钟内使用Py4A/SL4A在一个基本的CGI网络服务器中打开你的android手机http://matbaker.wordpress.com/2013/01/29/android-webserver-in-10-minutes/
相关问题 更多 >
编程相关推荐