1. 程式人生 > >Python開發一個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

安裝一些依賴包:

安裝完測試一下:

說明:匯入kivy模組沒有報錯則說明安裝成功。

install kivy for centos7

先安裝依賴:

安裝cython以及kivy:

用kivy開發第一個python app

安裝完kivy就可以開發app程式了,這裡演示下hello-world程式,關於kivy更復雜的用法不是本文重點,後面再成文介紹。

建立一個main.py檔案,寫入:

建立一個hello.kv檔案,寫入:

群簡單說明:main.py是入口函式,定義了一個HelloApp類,該類繼承kivy.app;hello.kv檔案是kivy程式,相當於定義介面風格等,該檔案命名規則為類名小寫且去除app。

執行第一個python app

結果

裝置buildozer工具

經過以上的編碼,我創立了本人的第一個python app順序,該順序可以間接在mac、linux、windows平臺下運轉,那麼如何讓它在安卓或許蘋果手機上運轉呢?我們曉得在安卓上運轉,需求將其打包成apk裝置順序,因而就需求用到後面提到過的buildozer工具,(buildozer工具可以打包kivy順序,支援android、ios等),buildozer的裝置程序比擬複雜:

pip install buildozer

運用buildozer工具將kivy順序打包成apk

在python專案目錄下運轉:

buildozer init

運轉成功將會創立一個配置檔案buildozer.spec,可以經過修正配置檔案更改app的稱號等,然後運轉:

buildozer android debug deploy run

1

運轉以上命令將會生成跨平臺的裝置包,可適用安卓、ios等,假如用於安卓,則是應用python-for-android專案。

在第一次運轉以上命令的時分,會自動在零碎中下載安卓sdk等必要檔案,如下圖。(程序需求翻牆,而且有很多依賴需求下載)

怎麼樣 小夥伴們都會了嗎,歡迎大家一起討論喲~