完全没问题,目前python for android项目的进展很迅速,python能在android上稳定运行。是否流畅还要看硬件配置如何了。图形界面也有成熟的项目,比如kivy等。可以制作稳定实用的App。
QPython入门
QPython WebApp应用框架能够让具有Web开发背景的开发者快速构建Android本地应用 作为开发者,充分掌握你手中的利器,才能做到庖丁解牛,游刃有余地推动项目,接下来,你只需要30分钟,即可掌握QPython以及WebApp应用框架
QPython的使用
QPython是我们项目的运行容器,我们所开发的项目需要运行在QPython之上(当然QPython也提供其他不同定位的程序开发支持,可以在以后的Codelab教程中逐一展示),因此你需要掌握以下使用技巧:
了解QPython的基本功能,能使用开始按钮以及开发者工具面板
你需要知道如何把项目上传或更新到QPython中
你需要掌握如何使用QPython运行项目
程序运行出错,如何查看错误信息,这个是作为开发者必备的技能
有些小的改动,比起上传或者更新整个项目而言,使用自带的QEdit方便第修改源代码可能会更简单
如果你想使用第三方库,你需要知道如何使用QPython来安装第三方库
更多详情可以参考如何使用QPython,以及如何使用QPython开发第一个HelloWorld
QPython的WebApp框架
为了让Web开发者能够快速上手Android应用开发,QPython推出了WebApp框架,它包括两个部分 - 基于Bottle框架的可定制本地Web服务器 - 构建于Android系统的WebView容器,
实现上述两个特性,就我们能够轻松地让QPython运行本地WebApp,避免传统服务端WebApp的网络传输瓶颈问题,获得更佳用户体验,此外,通过让Python能作为Backend语言,拥有更强大的包括网络,图像,运算等多种处理能力 再加上强大的Python第三方库支撑,拥有Python/Web开发经验的人即可轻松开发体验良好的WebApp
更多详情可以参考QPython WebApp帮助
应用设计
掌握了QPython基础使用以及其WebApp框架后,我们可以开始针对我们的项目目标设计应用系统
应用的使用流程分析
输入:输入部分及为根据用户地理位置
输出:用户所在城市的PM25数值以及对应的防护措施建议
业务处理:通过地理位置坐标获得所在城市,通过请求PM25接口数据源获得PM25数值,再根据等级区分展示对应的防护措施建议
关键数据来源
地理位置信息:通过QPython的SL4A接口可轻易获得
根据地理位置查询所在城市
PM25数据来源:根据PM25API可以查询到所在城市的PM25数值情况
了解QPython的地理位置的SL4A接口,掌握PM25的数据来源接口,Google的根据地理坐标查询所在城市
应用的交互设计
主要为根据不同的PM25展示做不同的预警展示,并能满足用户查看详情的需求
技术实现方面我们选定使用Bootstrap作为前端框架:Bootstrap能根据设备的宽度的不同提供适配的界面框架
推进过程以及FAQ
如何开始
在开发机器上安装bootstrap, bottle,象Web开发一样去开发, 本地调试后
以上传到QPython运行目录/sdcard/comhipipalqpyplus/projects/
通过QPython的运行按钮运行查看效果
将在个人电脑上开发的项目上传到手机上有以下方法 - 启动QPython自带的FTP服务:在设置中可以看到FTP服务,开启FTP服务后会显示当前侦听的地址,端口以及帐号,你可以通过FTP客户端将项目目录上传到QPython运行目录 - 如果你的电脑安装了Android开发套件,你也可以连接手机到开发机后,执行 adb push <本地目录> /sdcard/comhipipalqpyplus/projects/PM25 来把项目上传到QPython的项目目录
用Web开发模式开发QPython WebApp
我们可以使用标准的本地Web开发流程去推进应用开发,左侧为浏览器, 中间为VIM窗口,右侧我们启动bottle开发的Web进程(QPython内建支持Bootle Web框架)
在你的开发机上下载Bootstrap, 并配置Python+bottle运行环境,按照QPython WebApp的规范建立项目目录
获得Bootstrap,获得Bottle
了解QPython中WebApp中文件的结构
上传到QPython运行
你可以将项目上传到手机的QPython项目目录
点击开始按钮即可看到PM25选项
启动后可以看到运行效果
功能开发
在UI开发的基础上进行能攻开发,即可得到我们最终的版本,下列为几个关键过程的参考代码:
获得地理坐标
Droid = androidhelperAndroid()
location = DroidgetLastKnownLocation()result
location = locationget('network', locationget('gps'))
获得所在城市示范代码
ud = urlliburlopen('>
json_result = udread()
udclose()
""" process json_result """
获得所在城市PM25
ud = urlliburlopen('>
json_result = udread()
udclose()
""" process json_result """
根据PM25数值给出建议
if pm25_quality == '优':
elif pm25_quality == '良好':
elif pm25_quality == '不好':
elif pm25_quality == '差劲':
else:
将关键代码实现后输出即可实现我们本次的目标
你可以获得PM25早知道项目源代码源代码
此外,你还想增加什么功能天气预报, PM25变化趋势图以及预测 Just do IT !
Android平台吸引众多Linux社区用户的原因是,Android基于广泛的开源,即使甲骨文公司对此作出了诉讼。在基于Android平台的手机上开发软件,依然首选Java。谷歌提供的软件开发工具(SDK)不但包括了所需的文档与库,还提供了相应的工具。而且,还有一个附加的开源Eclipse集成开发环境(IDE)供你选用。谷歌最近发布了一个新的改进版本,之前被称作Android脚本编辑(ASE)的工具,现在变成Android(SL4A)的脚本层。这个可供手机下载的软件打开了一个新世界,这个工具可以让你在Android上使用Python、Perl、Jruby和Lua这些熟悉的语言来开发程序。它还支持BeanShell、JavaScript、Tcl和标准Linux内壳命令符。
这个是利用adb工具的push命令,把你的脚本拷贝到你目标机器的/sdcard/sl4a/scripts目录
就是打开命令行程序
cd到你安装adb的那个目录(如果是利用的androidSDK里面的adb,就是去androidSDK目录的platform-tools子目录,如果是单独拷贝的adb工具,就去它所在的子目录)
然后输入adb push yourscriptpath /sdcard/sl4a/scripts
这里的yourscriptpath是你的脚本的全路径
这个命令只是拷贝而已,其实你把安卓设备usb连接上,然后直接拷贝过去也是一样的。
python解释器本身用c/c++实现的,所以对于语言的核心部分,塞班的python与安卓的python是一样的,但是因为运行的 *** 作系统不同,所以对应系统提供的专有的库肯定是不同的(例如创建界面环境的库),如果是十分依赖系统的库也应该是有差距的。
塞班的python程序不带界面的移植比较容易,但是带界面的移植也不能说完全不可能,但是难度肯定是非常大的。
以上就是关于用Python开发Android程序到底怎么样全部的内容,包括:用Python开发Android程序到底怎么样、如何使用QPython开发Android应用、如何用QPython使python脚本在android保持后台运行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)