先说些题外话,最近菜单栏更新了,我统计了一下之前推送过的大家反响度比较高的一些文章,并将它们分类整理了一下,便于大家查询,入口在底部菜单栏的“精彩瞬间”_”精选文章“,尤其是将过去发布的几款梯子按照手机端和PC端进行了分类,直接点击进去就ok啦
华丽的分割线下,开始今天的推送
最近突发奇想,Python那么强大,那能不能用它来制作手机端的app呢?搜索了一下,还真有这么一个库,叫做“kivy”。
环境:deepin
于是我迫不及待的在终端输入了“pip3 install kivy”,然后打开编辑器,键入‘import kivy’,呵呵,报错了。
原来,kivy是依赖于pygme这个库的,所以我又在终端输入“pip3 install pygame”,等待一会儿后,再次测试,还是完美失败,去查询了一些相关资料,有人说是kivy对于Python的支持不太成熟。好吧,那就换Python2,换个装包方法,这次总算可以了,命令行汇总如下:
sudo apt-get update
sudo apt-get install python-kivy
sudo apt-get install python-pygame
然后我创建了一个脚本,从网上找到了一段代码,想测试一下kivy的效果,代码如下:
不出意外的报错了:
File "/home/fantasy/Desktop/kivy.py", line 1, in
from kivy.app import App
ImportError: No module named app
(注意下蓝色部分,后面解释y)
于是又开始狂搜,在stakeoverflow上看到有个老外也遇到了同样的问题,并发了个求助帖,有大佬在下面回复说是版本问题,原来是那个老外用的Python3,然而运行时错误选择了Python2
可是,这并没有解决我的问题,因为我检查了好多遍,没有使用错误的版本,那是为什么呢?
我盯着桌面上的那个py文件,something hit me suddenly !
今年寒假在写“小白制作词云图”那篇文章的时候就遇到过同样的问题!
果断改了个名称之后,再次run ,果然好使了。
该界面可点击,类似于智能手机的触屏操作
既然kivy如此magical,我想肯定有小伙伴想have a try 吧
那就百度?
no,百度上关于kivy的教程基板上都是零零散散的,让新手不知所云
哦,那就查官方文档?
no,官方文档对新手也不太友好,虽然国内有人尝试翻译过文档,但仍让人摸不着头脑,感觉就是看过之后会的大佬还是会,不会的小白还是不会。
所以呢,我就想着去某宝搜索下,看有没有系统的书籍,于是找到了‘Creating apps in kivy’这本书。
花了一下午的时间,搭配谷歌翻译看完了前两章,感觉还不错。整本书都围绕制作一个查天气的app展开,看完整本书之后就可以完成其制作了,而且全书语言风趣幽默,不像某些干巴巴的教材枯燥无味。唯一的(maybe)缺点就是:没有中文版本,而且100多页的书卖258元。
在这里主要说一下:kivy制作APP是分两部分进行的,一部分是Python的代码来控制逻辑,另一部分是kivy语言(俗称“kivilang”)来控制内部的组件(比如按钮),当然你也可以把它们都写在Python的脚本文件里面(就像前面的那个例子一样),但是看完上面的这本书,你也许就会被作者一直强调的话感染,坚决把两部分分开来写,这是一个好习惯。
现在有了语法教程了,那怎么把它打包成apk格式的可执行文件呢?
首先需要明确:该操作只能在linux上进行操作
因为整个安卓系统就是谷歌公司基于Linux研究出来的,在一定意义上来说也是一个Linux的发行版,所以在Linux上操作比较稳定。哇,谷歌大法好。
这个问题,我在国内各大网站几乎搜遍了,也没有找到比较通俗易懂的教程。最后在YouTube上找到了,果然,世界人民的力量还是很强大的。大家可以自行搜索“kivy android”获取教程。
另外,推荐‘sentdex’的kivy教程,这是视频版,看书累了可以看这个哦。
最后,点个赞,转个发啥的呗
领取专属 10元无门槛券
私享最新 技术干货