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

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也能起到相似的作用,这里不展开引见。

搭建kivy开发环境

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

<pre class=\”ql-align-justify\” style=\”-webkit-tap-highlight-color: transparent; box-sizing: border-box; font-family: Consolas, Menlo, Courier, monospace; font-size: 16px; white-space: pre-wrap; position: relative; line-height: 1.5; color: rgb(153, 153, 153); margin: 1em 0px; padding: 12px 10px; background: rgb(244, 245, 246); border: 1px solid rgb(232, 232, 232); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;\”>install kivy for mac </pre>

安装一些依赖包:

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

安装完测试一下:

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

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

install kivy for centos7

先安装依赖:

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

安装cython以及kivy:

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

用kivy开发第一个python app

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

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

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

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

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

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

运行第一个python app

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

结果

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

装置buildozer工具

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

<pre style=\”-webkit-tap-highlight-color: transparent; box-sizing: border-box; font-family: Consolas, Menlo, Courier, monospace; font-size: 16px; white-space: pre-wrap; position: relative; line-height: 1.5; color: rgb(153, 153, 153); margin: 1em 0px; padding: 12px 10px; background: rgb(244, 245, 246); border: 1px solid rgb(232, 232, 232); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;\”>pip install buildozer

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

在python项目目录下运转:

<pre style=\”-webkit-tap-highlight-color: transparent; box-sizing: border-box; font-family: Consolas, Menlo, Courier, monospace; font-size: 16px; white-space: pre-wrap; position: relative; line-height: 1.5; color: rgb(153, 153, 153); margin: 1em 0px; padding: 12px 10px; background: rgb(244, 245, 246); border: 1px solid rgb(232, 232, 232); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;\”>buildozer init</pre>

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

<pre style=\”-webkit-tap-highlight-color: transparent; box-sizing: border-box; font-family: Consolas, Menlo, Courier, monospace; font-size: 16px; white-space: pre-wrap; position: relative; line-height: 1.5; color: rgb(153, 153, 153); margin: 1em 0px; padding: 12px 10px; background: rgb(244, 245, 246); border: 1px solid rgb(232, 232, 232); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;\”>buildozer android debug deploy run1</pre>

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

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

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

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

最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年9月14日 上午11:13
下一篇 2024年9月14日 上午11:25

相关推荐

  • 人力服务项目管理软件

    人力服务项目管理软件 随着企业人力资源管理的不断发展,传统的手工操作已经无法满足现代企业的需求。为了更好地管理人力资源项目,开发一款专业的人力服务项目管理软件变得非常重要。 人力服…

    科研百科 2024年7月22日
    41
  • 晋过两次副高的她,延退两年后顺利完成七晋六

    57岁的贺老师是学校第一位选择延迟到60岁退休的女老师,她今年职称评审又升一档。 上周顺利完成七晋六的贺老师曾经被同事们议论是: 一根筋、犯傻,大家常说的她犯过的傻有两次。 第一傻…

    科研百科 2023年1月19日
    142
  • 科研项目经历怎么写简历

    科研项目经历怎么写简历科研项目经历怎么写简历(学生在学校期间的申请)最近有一个学生突然做了一个检查,发现自己的老师对学生有一个学生那么了解,对于这个学生家长给了学生的保密情况, 并…

    科研百科 2024年11月27日
    0
  • 日常资金收付(四)资金计划表详细填写以及注意事项(欢迎评论(资金计划收支表)

    日常资金收付(四):资金计划表详细填写以及注意事项。 能否请您列出表格?数据已经提供给大家,逐一填写即可,应该问题不大吧?您的预计支出金额是多少?请查看手工账上的余额,是否为七十七…

    科研百科 2023年12月22日
    64
  • 龙岩市社区e家

    龙岩市社区e家:让社区生活更加便捷 近年来,随着互联网技术的不断发展,社区e家成为了社区管理的重要手段。在龙岩市,这一现象也得到了很好的体现。龙岩市社区e家是一个基于互联网技术的社…

    科研百科 2024年10月13日
    9
  • 长沙幼专:科研喜迎开门红,课题立项率100%(幼儿园科研立项)

    红网时刻新闻12月3日讯(通讯员 彭丹)依据《关于公布2022年湖南省教育厅科学研究项目立项结果的通知》(湘教通〔2022〕323号文件),近日,长沙幼儿师范高等专科学校申报的7个…

    科研百科 2024年4月18日
    71
  • 会计基础必背知识点(会计基础知识必背)

    《会计基础》复习资料   一、学习目的    切勿依靠押题!从业考试秉求全面考核的原则,考点覆盖全面,另外这是一门新的语言,需要通篇理解,融会贯通,否则会支离破碎,反倒不易通过。 …

    科研百科 2022年11月24日
    83
  • 外委项目管理

    外委项目管理:一种有效的项目管理方法 外委项目管理是一种有效的项目管理方法,通常用于项目中的外部来源(例如供应商、客户、承包商等)的项目管理。这种方法可以帮助项目团队更好地了解和适…

    科研百科 2024年5月24日
    54
  • 聚产业、延链条、优服务——探寻吉林西部风电场造价减半的“门道”

    新华社长春3月24日电 题:聚产业、延链条、优服务——探寻吉林西部风电场造价减半的“门道” 新华社记者李双溪、姜明明 记者近日在吉林西部采访发现,当地风电场每千瓦的造价成本几年内降…

    科研百科 2023年4月19日
    106
  • 科研项目研究领域分类

    科研项目研究领域分类 随着科技的不断进步,科研项目的研究领域也在不断地扩展和变化。根据研究目的、研究方法和学科分类,科研项目可以分为不同的研究领域。本文将介绍一些常见的科研项目研究…

    科研百科 2024年10月12日
    10