Python开发一个APP居然如此之简单?老王自学三月就独立开发了!

广告位

很久很久之前我就想开发一款app玩一下,不过因为不是很熟悉Java,也没有开发app的经验,因此一直没去弄。最…

Python开发一个APP居然如此之简单?老王自学三月就独立开发了!

很久很久之前我就想开发一款app玩一下,不过因为不是很熟悉Java,也没有开发app的经验,因此一直没去弄。最近学了python就想用它开发一个app,google查找之后发现路子还是很多的,现在也有了一些比较成熟的模块,然后开始了动手,在这过程中发现坑真的有点多,不过在google的帮助下都解决了,所以小记一下。

说在后面的话

python言语虽然很万能,但用它来开发app还是显得有点不对路,因而用python开发的app该当是作爲编码练习、或许自娱自乐所用,加上目前这方面的模块还不是特别成熟,bug比拟多,总而言之,劝君莫轻入。

预备工具

应用python开发app需求用到python的一个模块–kivy,kivy是一个开源的,跨平台的Python开发框架,用于开发运用创新的使用顺序。简而言之,这是一个python桌面顺序开发框架(相似wxpython等模块),弱小的是kivy支持linux、mac、windows、android、ios平台,这也是为何开发app需求用到这个模块。

虽然kivy是跨平台的,但是想要在不同的平台运用python代码,还需求将python代码打包成对应平台的可执行顺序,好在kivy项目下有个打包工具项目–buildozer,这是官方引荐的打包工具,由于绝对比拟复杂,自动化水平高,其他项目比方:python-for-android也能起到相似的作用,这里不展开引见。

在这里还是要推荐下我自己建的Python开发学习裙:304 零五零 799,群里都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2018最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴

搭建kivy开发环境

需求在pc上装置kivy开发环境,这里演示下mac与linux下的装置进程。

install kivy for mac

安装一些依赖包:

Python开发一个APP居然如此之简单?老王自学三月就独立开发了!

安装完测试一下:

Python开发一个APP居然如此之简单?老王自学三月就独立开发了!

说明:导入kivy模块没有报错则说明安装成功。

install kivy for centos7

先安装依赖:

Python开发一个APP居然如此之简单?老王自学三月就独立开发了!

安装cython以及kivy:

Python开发一个APP居然如此之简单?老王自学三月就独立开发了!

用kivy开发第一个python app

安装完kivy就可以开发app程序了,这里演示下hello-world程序,关于kivy更复杂的用法不是本文重点,后面再成文介绍。

创建一个main.py文件,写入:

Python开发一个APP居然如此之简单?老王自学三月就独立开发了!

创建一个hello.kv文件,写入:

Python开发一个APP居然如此之简单?老王自学三月就独立开发了!

群简单说明:main.py是入口函数,定义了一个HelloApp类,该类继承kivy.app;hello.kv文件是kivy程序,相当于定义界面风格等,该文件命名规则为类名小写且去除app。

运行第一个python app

Python开发一个APP居然如此之简单?老王自学三月就独立开发了!

结果

Python开发一个APP居然如此之简单?老王自学三月就独立开发了!

装置buildozer工具

经过以上的编码,我创立了本人的第一个python app顺序,该顺序可以间接在mac、linux、windows平台下运转,那麼如何让它在安卓或许苹果手机上运转呢?我们晓得在安卓上运转,需求将其打包成apk装置顺序,因而就需求用到后面提到过的buildozer工具,(buildozer工具可以打包kivy顺序,支持android、ios等),buildozer的装置进程比拟复杂:

pip install buildozer

Python开发一个APP居然如此之简单?老王自学三月就独立开发了!

运用buildozer工具将kivy顺序打包成apk

在python项目目录下运转:

buildozer init

运转成功将会创立一个配置文件buildozer.spec,可以经过修正配置文件更改app的称号等,然后运转:

buildozer android debug deploy run

1

运转以上命令将会生成跨平台的装置包,可适用安卓、ios等,假如用于安卓,则是应用python-for-android项目。

在第一次运转以上命令的时分,会自动在零碎中下载安卓sdk等必要文件,如下图。(进程需求翻墙,而且有很多依赖需求下载)

Python开发一个APP居然如此之简单?老王自学三月就独立开发了!

怎么样 小伙伴们都会了吗,欢迎大家一起讨论哟~

关于作者: Python派神

为您推荐