如何使用QPython开发Android应用

如何使用QPython开发Android应用,第1张

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框架后,我们可以开始针对我们的项目目标设计应用系统

应用的使用流程分析

输入:输入部分及为根据用户地理位置

输出:用户所在城市的PM2.5数值以及对应的防护措施建议

业务处理:通过地理位置镇御坐标获得所在城市,通过请求PM2.5接口数据源获得PM2.5数值,再根据等级区分展示对应的防护措施建议

关键数据来源

地理位置信息:通过QPython的SL4A接口可轻易获得

根据地理位置查询所在城市

PM2.5数据来源:根据PM2.5API可以查询到所在城市的PM2.5数值情况

了解QPython的地理位置的SL4A接口,掌握PM2.5的数据来源接口,Google的根据地理坐标查询所在城市

应用的交互设计

主要为根据不同的PM2.5展示做不同的预警展示,并能满足用户查看详情的需求

技术实现方面我们选定使用Bootstrap作为前端框架:Bootstrap能根据设备的宽度的不同提供适配的界面框架.

推进过程以及FAQ

如何开始

在开发机器上安装bootstrap, bottle,象Web开发一样去开发, 本地调试后

以上传到QPython运行目录/sdcard/com.hipipal.qpyplus/projects/

通过QPython的运行按钮运行查看效果

将在个人电脑上开发的项目上传到手机上有以下方法 - 启动QPython自带的FTP服务:在设置中可以看到FTP服务,开启FTP服务后会显示当前侦听的地址,端口以及帐号,你可以通过FTP客户端将项目目录上传到QPython运行目录 - 如果你的电脑安装了Android开发套件,你也可以连接手机到开发机后,执行 adb push <本地目录>/sdcard/com.hipipal.qpyplus/projects/PM2.5 来把项目上传到QPython的项目目录

用Web开发模式开发QPython WebApp

我们可以使用标准的本地Web开发流程去推进应用开发,左侧为浏览器, 中间为VIM窗口,右侧我们启动bottle开发的Web进程(QPython内建支持Bootle Web框架)

在你的开发机上下载Bootstrap, 并配置Python+bottle运行环境,按照QPython WebApp的规范建立项目目录

获得Bootstrap,获得Bottle

了解QPython中WebApp中文件的结构

上传到QPython运行

你可以将项目上传到手机的QPython项目目录

点击开始按钮即可看到PM2.5选项

启动后可以看到运行效果

功能开发

在UI开发的基础上进行能攻开发,即可得到我们最终的版本,下列为几个关键过程的参考代码:

获得地理坐标

Droid = androidhelper.Android()

location = Droid.getLastKnownLocation().result

location = location.get('network', location.get('gps'))

获得所在城市示范代码

ud  = urllib.urlopen('http://maps.google.com/maps/api/geocode/json?latlng=%s&sensor=true' % location)

json_result = ud.read()

ud.close()

""" process json_result """

获得所在城市PM2.5

ud = urllib.urlopen('http://www.pm25.in/api/querys/pm2_5.json?city=%s&token=%s' % (city, token))

json_result = ud.read()

ud.close()

""" process json_result """

根据PM2.5数值给出建议

if pm25_quality == '优':

  ...

elif pm25_quality == '良好':

  ...

elif pm25_quality == '不好':

  ...

elif pm25_quality == '差劲':

  ...

else:

  ...

将关键代码实现后输出即可实现我们本次的目标

你可以获得PM2.5早知道项目源代码源代码

此外,你还想增加什么功能?天气预报, PM2.5变化趋势图以及预测 ?Just do IT !

先将终端所在路径切换到python脚本文件的目录下

然后给脚本文件运行权限,一般755就ok,如果完全是自己的私人电脑源桥,也不做服务器什么的,给777的权限问题也不大裂缓(具体权限含义参考chmod指令的介绍,就不赘述了):

chmod

755

./*.py

然后执行。

如果在脚本内容的开头已经给出了类似于如下的注释:

#!/usr/bin/env

python

那就可以直接在终端里运行:

./*.py

如果没有这个注释

就在终端中执行:

python

./*.py

如果是有图形界面的脚本

在前面的chmod之后,肆裂模直接双击(kde桌面是单击)文件来执行即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12351594.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存