首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

APP还能这样制作?大开眼界的操作

先说些题外话,最近菜单栏更新了,我统计了一下之前推送过的大家反响度比较高的一些文章,并将它们分类整理了一下,便于大家查询,入口在底部菜单栏的“精彩瞬间”_”精选文章“,尤其是将过去发布的几款梯子按照手机端和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教程,这是视频版,看书累了可以看这个哦。

最后,点个赞,转个发啥的呗

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180701G10MO500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券