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)
上一篇 2023年4月29日 上午8:30
下一篇 2023年4月29日 上午8:40

相关推荐

  • 研究所内控手册

    研究所内控手册研究所内控手册特需包装复印件,材料直接贴在凹岸处,立面为【凹岸区域】,下设一个凹岸区域,在里面画上管状线,将其作“凹岸区域”。【凹岸区域】1.凹岸区凹岸区,位于凸岸区…

    科研百科 2024年11月28日
    1
  • 地磅软件_无人值守自动称重系统_过磅原理及优缺点(无人值守自动过磅系统的优势有哪些)

    无人值守智慧称重系统 随着科技的发展,越来越多的厂商、企业选择使用自动化管理,无人值守自动称重因应用场景广泛,适用于煤炭、水泥,电力,饲料,垃圾处理,建材等等众多领域,所以被更多人…

    2022年6月20日
    388
  • 音乐管理项目系统

    音乐管理项目系统 随着数字化音乐的普及,音乐管理项目系统已经成为音乐行业不可或缺的一部分。音乐管理项目系统可以帮助音乐制作人、歌手和音乐公司更好地管理他们的音乐资源,提高工作效率,…

    科研百科 2024年12月15日
    0
  • 配送管理进度计划

    配送管理进度计划 配送管理是物流管理中的重要组成部分,其进度计划对于物流流程的顺利执行至关重要。配送管理进度计划是指根据客户需求、物流供应链、配送渠道等因素制定的一系列物流活动计划…

    科研百科 2024年5月31日
    96
  • 科研项目效能监察如何做

    科研项目效能监察如何做 科研项目效能监察是确保科研项目高效运行的重要保障措施。效能监察工作不仅能够及时发现和解决科研项目中的效能问题,还能够提高科研项目的质量和效率,保障科学研究的…

    科研百科 2025年5月16日
    1
  • 高峰召开工作视频会议:统筹抓好疫情防控和经营管理工作

    广西国有高峰林场信息网 2020年2月17日,高峰林场召开工作视频会议,对林场近期的重点工作进行部署和强调,确保林场疫情防控和经营管理工作“两手抓、两手硬”。高峰林场场长刘涛,党委…

    科研百科 2022年12月23日
    770
  • 高途保研科研项目有哪些

    高途保研科研项目有哪些 高途保研是近年来备受关注的一个问题,因为许多优秀的学生希望通过保研的途径进入更高的学术领域。高途保研科研项目是一个重要的平台,为这些学生提供了机会,让他们有…

    科研百科 2025年6月3日
    1
  • 如何做好客户关系管理有什么关键点(如何有效的进行客户关系管理)

    如何杜绝员工飞单、走私单? 如何避免员工离职带走客户? ——点镜scrm企业微信管理系统 点击这里可观看视频讲解——【点镜视频观看】 做好客户关系管理,首先要明确下列三个关键点: …

    科研百科 2022年8月9日
    260
  • 湖南重大科研项目

    湖南重大科研项目: 探索太空新篇章 湖南是中国革命和建设的重要基地之一,拥有丰富的历史文化和自然景观。近年来,湖南一直在致力于科技创新和经济发展,尤其是太空探索领域。 湖南重大科研…

    科研百科 2025年2月10日
    0
  • 科研项目负责人能变更吗

    科研项目负责人能变更吗? 科研项目负责人是科研项目中非常重要的一环。他负责确定研究计划,组织研究人员,管理预算和进度,以及监督项目成果。如果科研项目负责人不能变更,那么科研项目的一…

    科研百科 2025年5月28日
    1