python開發(fā)android應(yīng)用,python 開發(fā)android

python開發(fā)安卓app可行嗎

用Python寫安卓APP肯定不是最好的選擇,但是肯定是一個(gè)很偷懶的選擇。我們使用kivy開發(fā)安卓APP,Kivy是一套專門用于跨平臺(tái)快速應(yīng)用開發(fā)的開源框架,使用Python和Cython編寫,對(duì)于多點(diǎn)觸控有著非常良好的支持,不僅能讓開發(fā)者快速完成簡(jiǎn)潔的交互原型設(shè)計(jì),還支持代碼重用和部署,絕對(duì)是一款頗讓人驚艷的NUI框架。 (推薦學(xué)習(xí):Python視頻教程)

十余年的東昌網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整東昌建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“東昌網(wǎng)站設(shè)計(jì)”,“東昌網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

因?yàn)榭缙脚_(tái)的,所以只寫一遍代碼,就可以同時(shí)生成安卓及IOS的APP,很酷吧。

新建一個(gè).py文件

運(yùn)行:

然后會(huì)彈出一個(gè)框,大概如下,點(diǎn)擊”hello,kivy”會(huì)變顏色

以上就是小編分享的關(guān)于python開發(fā)安卓app可行嗎的詳細(xì)內(nèi)容希望對(duì)大家有所幫助,更多有關(guān)python教程請(qǐng)關(guān)注環(huán)球青藤其它相關(guān)文章!

python可以開發(fā)手機(jī)app嗎?

python可以開發(fā)手機(jī)app,因?yàn)檫@也是一款編程的軟件,如果你用這款軟件去開發(fā)手機(jī)APP的話,就有一點(diǎn)大材小用的感覺了。這也說明這款軟件的強(qiáng)大性。

如何Python寫一個(gè)安卓APP

開發(fā)一個(gè)完整app需要掌握哪些知識(shí)

1、前期需求規(guī)劃與信息——你需要制定出一個(gè)完整的需求文檔,功能文檔,流程圖,時(shí)序圖。

2、交互設(shè)計(jì)、UI設(shè)計(jì)——設(shè)計(jì)出基本且完善的原型圖和app基礎(chǔ)的交互設(shè)計(jì)效果,之后再根據(jù)這些設(shè)計(jì)出完整的UI界面并學(xué)會(huì)切圖,一些需要做自適應(yīng)的素材圖片需要做點(diǎn)9patch。 這里還需要你懂得px,pt和dp之間的換算,屏幕密度的換算和相互之間的系數(shù),以便你的app能完美適應(yīng)不同分辨率設(shè)備。其中交互設(shè)計(jì)需要你懂得很多人機(jī)操作的技巧經(jīng)驗(yàn),掌握Axure等交互工具的使用,UI設(shè)計(jì)需要你掌握Photoshop和Illustrator等操作。

3、使用ADT之類的開發(fā)環(huán)境進(jìn)行app軟件開發(fā),你最基本的也得掌握java語言,熟悉android環(huán)境和機(jī)制。

4、如果不是單機(jī)版的app,需要用到服務(wù)器,那你還得掌握WebService相關(guān)知識(shí)和開發(fā)語

言,常用的有ASP.Net,PHP,JSP等。

5、熟悉并能開發(fā)數(shù)據(jù)庫。

6、某些功能需要做算法,這還需要一定得專業(yè)知識(shí),尤其是數(shù)學(xué)基礎(chǔ)。

7、熟悉API接口開發(fā),這里包括你自行開發(fā)API的能力以及調(diào)用第三方API的經(jīng)驗(yàn)。

8、熟悉TCP/IP,socket等網(wǎng)絡(luò)協(xié)議和相關(guān)知識(shí)。

9、熟練掌握App發(fā)布的流程,真機(jī)調(diào)試技巧,證書,打包,上架。 App開發(fā)其實(shí)不一定適合一個(gè)人搞,太費(fèi)勁,除非是一個(gè)單機(jī)版的小應(yīng)用,或者利用現(xiàn)成的app開發(fā)簡(jiǎn)單的第三方應(yīng)用,否則還是讓一個(gè)團(tuán)隊(duì)來完成各自擅長(zhǎng)的領(lǐng)域。

如何使用QPython開發(fā)Android應(yīng)用

QPython入門

QPython WebApp應(yīng)用框架能夠讓具有Web開發(fā)背景的開發(fā)者快速構(gòu)建Android本地應(yīng)用. 作為開發(fā)者,充分掌握你手中的利器,才能做到庖丁解牛,游刃有余地推動(dòng)項(xiàng)目,接下來,你只需要30分鐘,即可掌握QPython以及WebApp應(yīng)用框架.

QPython的使用

QPython是我們項(xiàng)目的運(yùn)行容器,我們所開發(fā)的項(xiàng)目需要運(yùn)行在QPython之上(當(dāng)然QPython也提供其他不同定位的程序開發(fā)支持,可以在以后的Codelab教程中逐一展示),因此你需要掌握以下使用技巧:

了解QPython的基本功能,能使用開始按鈕以及開發(fā)者工具面板

你需要知道如何把項(xiàng)目上傳或更新到QPython中

你需要掌握如何使用QPython運(yùn)行項(xiàng)目

程序運(yùn)行出錯(cuò),如何查看錯(cuò)誤信息,這個(gè)是作為開發(fā)者必備的技能

有些小的改動(dòng),比起上傳或者更新整個(gè)項(xiàng)目而言,使用自帶的QEdit方便第修改源代碼可能會(huì)更簡(jiǎn)單

如果你想使用第三方庫,你需要知道如何使用QPython來安裝第三方庫

更多詳情可以參考如何使用QPython,以及如何使用QPython開發(fā)第一個(gè)HelloWorld

QPython的WebApp框架

為了讓W(xué)eb開發(fā)者能夠快速上手Android應(yīng)用開發(fā),QPython推出了WebApp框架,它包括兩個(gè)部分 - 基于Bottle框架的可定制本地Web服務(wù)器 - 構(gòu)建于Android系統(tǒng)的WebView容器,

實(shí)現(xiàn)上述兩個(gè)特性,就我們能夠輕松地讓QPython運(yùn)行本地WebApp,避免傳統(tǒng)服務(wù)端WebApp的網(wǎng)絡(luò)傳輸瓶頸問題,獲得更佳用戶體驗(yàn),此外,通過讓Python能作為Backend語言,擁有更強(qiáng)大的包括網(wǎng)絡(luò),圖像,運(yùn)算等多種處理能力. 再加上強(qiáng)大的Python第三方庫支撐,擁有Python/Web開發(fā)經(jīng)驗(yàn)的人即可輕松開發(fā)體驗(yàn)良好的WebApp

更多詳情可以參考QPython WebApp幫助

應(yīng)用設(shè)計(jì)

掌握了QPython基礎(chǔ)使用以及其WebApp框架后,我們可以開始針對(duì)我們的項(xiàng)目目標(biāo)設(shè)計(jì)應(yīng)用系統(tǒng)

應(yīng)用的使用流程分析

輸入:輸入部分及為根據(jù)用戶地理位置

輸出:用戶所在城市的PM2.5數(shù)值以及對(duì)應(yīng)的防護(hù)措施建議

業(yè)務(wù)處理:通過地理位置坐標(biāo)獲得所在城市,通過請(qǐng)求PM2.5接口數(shù)據(jù)源獲得PM2.5數(shù)值,再根據(jù)等級(jí)區(qū)分展示對(duì)應(yīng)的防護(hù)措施建議

關(guān)鍵數(shù)據(jù)來源

地理位置信息:通過QPython的SL4A接口可輕易獲得

根據(jù)地理位置查詢所在城市

PM2.5數(shù)據(jù)來源:根據(jù)PM2.5API可以查詢到所在城市的PM2.5數(shù)值情況

了解QPython的地理位置的SL4A接口,掌握PM2.5的數(shù)據(jù)來源接口,Google的根據(jù)地理坐標(biāo)查詢所在城市

應(yīng)用的交互設(shè)計(jì)

主要為根據(jù)不同的PM2.5展示做不同的預(yù)警展示,并能滿足用戶查看詳情的需求

技術(shù)實(shí)現(xiàn)方面我們選定使用Bootstrap作為前端框架:Bootstrap能根據(jù)設(shè)備的寬度的不同提供適配的界面框架.

推進(jìn)過程以及FAQ

如何開始

在開發(fā)機(jī)器上安裝bootstrap, bottle,象Web開發(fā)一樣去開發(fā), 本地調(diào)試后

以上傳到QPython運(yùn)行目錄/sdcard/com.hipipal.qpyplus/projects/

通過QPython的運(yùn)行按鈕運(yùn)行查看效果

將在個(gè)人電腦上開發(fā)的項(xiàng)目上傳到手機(jī)上有以下方法 - 啟動(dòng)QPython自帶的FTP服務(wù):在設(shè)置中可以看到FTP服務(wù),開啟FTP服務(wù)后會(huì)顯示當(dāng)前偵聽的地址,端口以及帳號(hào),你可以通過FTP客戶端將項(xiàng)目目錄上傳到QPython運(yùn)行目錄 - 如果你的電腦安裝了Android開發(fā)套件,你也可以連接手機(jī)到開發(fā)機(jī)后,執(zhí)行 adb push 本地目錄 /sdcard/com.hipipal.qpyplus/projects/PM2.5 來把項(xiàng)目上傳到QPython的項(xiàng)目目錄

用Web開發(fā)模式開發(fā)QPython WebApp

我們可以使用標(biāo)準(zhǔn)的本地Web開發(fā)流程去推進(jìn)應(yīng)用開發(fā),左側(cè)為瀏覽器, 中間為VIM窗口,右側(cè)我們啟動(dòng)bottle開發(fā)的Web進(jìn)程(QPython內(nèi)建支持Bootle Web框架)

在你的開發(fā)機(jī)上下載Bootstrap, 并配置Python+bottle運(yùn)行環(huán)境,按照QPython WebApp的規(guī)范建立項(xiàng)目目錄

獲得Bootstrap,獲得Bottle

了解QPython中WebApp中文件的結(jié)構(gòu)

上傳到QPython運(yùn)行

你可以將項(xiàng)目上傳到手機(jī)的QPython項(xiàng)目目錄

點(diǎn)擊開始按鈕即可看到PM2.5選項(xiàng)

啟動(dòng)后可以看到運(yùn)行效果

功能開發(fā)

在UI開發(fā)的基礎(chǔ)上進(jìn)行能攻開發(fā),即可得到我們最終的版本,下列為幾個(gè)關(guān)鍵過程的參考代碼:

獲得地理坐標(biāo)

Droid = androidhelper.Android()

location = Droid.getLastKnownLocation().result

location = location.get('network', location.get('gps'))

獲得所在城市示范代碼

ud ?= urllib.urlopen(';sensor=true' % location)

json_result = ud.read()

ud.close()

""" process json_result """

獲得所在城市PM2.5

ud = urllib.urlopen(';token=%s' % (city, token))

json_result = ud.read()

ud.close()

""" process json_result """

根據(jù)PM2.5數(shù)值給出建議

if pm25_quality == '優(yōu)':

...

elif pm25_quality == '良好':

...

elif pm25_quality == '不好':

...

elif pm25_quality == '差勁':

...

else:

...

將關(guān)鍵代碼實(shí)現(xiàn)后輸出即可實(shí)現(xiàn)我們本次的目標(biāo)

你可以獲得PM2.5早知道項(xiàng)目源代碼源代碼

此外,你還想增加什么功能?天氣預(yù)報(bào), PM2.5變化趨勢(shì)圖以及預(yù)測(cè) ?Just do IT !

用Python開發(fā)Android程序到底怎么樣

Python是動(dòng)態(tài)語言,比較簡(jiǎn)潔。Android不直接支持使用python開發(fā)應(yīng)用,需要使用其它中間件或者庫。PythonForAndroid提供了在android平臺(tái)上對(duì)python語言的支持;CLE支持python和java之間的交互,同時(shí)提供了一個(gè)通用的接口,可用于其它多種語言。Wrapandroid project將android類封裝為CLE對(duì)象,從而可以使多種語言可以調(diào)用android類。使用這三個(gè)組件,可以在android平臺(tái)上直接使用python開發(fā)界面應(yīng)用程序。Wrapandroid項(xiàng)目在進(jìn)行中,目前的0.8.5版本已經(jīng)提供了除SQlite,OpenGL之外大部分android類的封裝。完全可以編寫一個(gè)獨(dú)立的python應(yīng)用程序。

python可以寫軟件么怎么寫?

22點(diǎn)24分準(zhǔn)時(shí)推送,第一時(shí)間送達(dá)

編輯:技術(shù)君 | 來源:youerning

上一篇:

正文

前言

用 Python 寫安卓 APP 肯定不是最好的選擇,目前用Java和 kotlin 寫的居多,但是肯定也是一個(gè)很偷懶的選擇,而且實(shí)在不想學(xué)習(xí) Java,再者,就編程而言已經(jīng)會(huì)的就 Python與Golang(注:Python,Golang水平都一般),那么久Google了一下Python 寫安卓的 APP 的可能性,還真行。

既然要寫個(gè)APP,那么總得要有個(gè)想法吧。其實(shí)想做兩個(gè)APP來著,一個(gè)是自己寫著好玩的,一個(gè)是關(guān)于運(yùn)維的。關(guān)于運(yùn)維的APP,設(shè)計(jì)應(yīng)該如下

可能長(zhǎng)這樣

然后設(shè)計(jì)應(yīng)該是這樣。

如果覺得可行的話,評(píng)論留言一下你覺得應(yīng)該寫進(jìn)這個(gè)APP的運(yùn)維常用命令吧^_^,筆者暫時(shí)想到的是top,free -m,df –h,uptime,iftop,iotop,如果有什么好的想法就狠狠的砸過來吧,筆者到時(shí)應(yīng)該也會(huì)把這個(gè)寫成一個(gè)項(xiàng)目放到github上,大家一起用嘛,開源才是王道,哈哈。

開發(fā)安卓APP

我們使用kivy開發(fā)安卓APP,Kivy是一套專門用于跨平臺(tái)快速應(yīng)用開發(fā)的開源框架,使用Python和Cython編寫,對(duì)于多點(diǎn)觸控有著非常良好的支持,不僅能讓開發(fā)者快速完成簡(jiǎn)潔的交互原型設(shè)計(jì),還支持代碼重用和部署,絕對(duì)是一款頗讓人驚艷的NUI框架。

因?yàn)榭缙脚_(tái)的,所以只寫一遍代碼,就可以同時(shí)生成安卓及IOS的APP,很酷吧。

本文會(huì)帶大家寫一個(gè)Hello world并瞧一瞧 Python 版的2048的代碼

kivy安裝

環(huán)境說明:筆者在用的是Python2.7.10

這里僅介紹windows平臺(tái)安裝

所有平臺(tái)參考:

更新pip,setuptools

python -m pip install --upgrade pip wheel setuptools

然后是安裝所需要的依賴

python -m pip install docutils pygmentspypiwin32 kivy.deps.sdl2 kivy.deps.glew \

kivy.deps.gstreamer --extra-index-url

值得注意的是,上面的安卓需要訪問Google,所以請(qǐng)自備梯子,而且kivy.deps.gstreamer這個(gè)包比較大(95MB),可以單獨(dú)本地安裝,

然后就是安裝kivy了

python -m pip install kivy

至此,安裝就已經(jīng)完畢了,值得注意的是64位系統(tǒng)沒有開啟虛擬化支持,在導(dǎo)入kivy的時(shí)候會(huì)報(bào)錯(cuò),如果是64位系統(tǒng)就設(shè)置一下機(jī)器的BIOS,開啟虛擬化支持吧。

注:這里只是kivy的運(yùn)行環(huán)境,這樣我就能直接在windows機(jī)器上直接調(diào)試了,怎么將代碼編譯成APK文件我們會(huì)在后面講到。

如果kivy在python中應(yīng)該就能導(dǎo)入了。

按照世界慣例,我們”hello”一下吧。

新建一個(gè).py文件

from kivy.app import Appfrom kivy.uix.button importButton

class TestApp(App):

def build(self):

return Button(text='Hello,kivy')

TestApp().run()

運(yùn)行

然后會(huì)彈出一個(gè)框,大概如下,點(diǎn)擊”hello,kivy”會(huì)變顏色

點(diǎn)擊窗口并按“F1”會(huì)這個(gè)窗口的一些屬性

然后我們回過頭看一看代碼。

##導(dǎo)入App,然后讓TestApp這個(gè)類繼承

from kivy.app import App##導(dǎo)入一個(gè)Button,運(yùn)維有這個(gè)button,當(dāng)你點(diǎn)擊的時(shí)候才會(huì)有所反應(yīng)

from kivy.uix.button

importButton

###定義類,名字必須是xxxAppclass TestApp(App):

###build一個(gè)Button

def build(self):

###返回一個(gè)Button,文字內(nèi)容是“Hello,kivy”

return Button(text='Hello,kivy')

##運(yùn)行,因?yàn)槔^承了App,所以才有的run這個(gè)方法TestApp().run()

上面就是我們的Hello了

在windows上運(yùn)行當(dāng)然沒有什么太大的意義,怎么在安卓手機(jī)上運(yùn)行才是我們想要的,

這時(shí)我們需要一個(gè)編譯環(huán)境。

官方說明的環(huán)境,如下:

You’ll need:

A linux computer or a virtual machine

Java

Python 2.7 (not 2.6.)

Jinja2 (python module)

Apache ant

Android SDK

雖然官方提供了一個(gè)似乎還不錯(cuò)的虛擬機(jī)鏡像,但是還是有很多內(nèi)容需要翻出去,所以筆者在這里提供相對(duì)而言更加完善的鏡像

下載地址:

注:virtualbox,vmware需自行下載

root密碼:kivy

默認(rèn)使用賬戶kivy,密碼:kivy123

當(dāng)然你也可以下載官方鏡像,因?yàn)榈谝淮尉幾g需要去國(guó)外下一大堆東西,所以請(qǐng)自行去下載。

Virtual Machine

A Virtual Machine with Android SDK and NDK and all otherpre-requisites pre installed to ease apk generation:

Kivy Buildozer VM

Or select the Torrent

在筆者提供的鏡像里,桌面上有一個(gè)dev_and,只要將上面寫的代碼,放入這個(gè)文件夾即可(當(dāng)然也可以在其他目錄,后面會(huì)講到)。

在公眾號(hào)Python人工智能技術(shù)后臺(tái)回復(fù)“面試”,獲取騰訊Python面試題和答案。

cd Desktop/dev_and/

初始化會(huì)在當(dāng)前目錄生成一個(gè)buildozer.spec文件 用于配置生成的apk相關(guān)信息

buildozer init

###修改buildozer.spec文件

vi buildozer.spec

至少修改下面三項(xiàng)

# (str) Title of your applicationtitle = helloworld

# (str) Package namepackage.name = helloapp

# (str) Package domain (needed for android/ios packaging)package.domain = youer.com

然后注釋

# (str) Application versioning (method 1)#version.regex = __version__ = ['"](.*)['"]#version.filename = %(source.dir)s/main.py

下面這行改為非注釋

version = 1.2.0

最后我們生成我們需要的apk文件

buildozer -v android debug

buildozer.spec更詳細(xì)的相關(guān)參數(shù)配置參考:

buildozer命令會(huì)在當(dāng)前文件夾創(chuàng)建一個(gè)bin,該文件夾里面有我們想要的apk文件

helloapp-1.2.0-debug.apk

helloapp-1.2.0-debug.apk

安裝以后是這樣:

話說在編譯的時(shí)候可能出現(xiàn)空間不足的情況,根據(jù)虛擬機(jī)的不同(vmware或virtualbox)自行擴(kuò)容吧。

最后我們來瞧瞧簡(jiǎn)易版Python開發(fā)的2048這個(gè)游戲的源代碼。

代碼:

先看效果圖:

試玩了一下,還是蠻流暢的,有興趣的可以下載玩一下

下載地址:

這個(gè)游戲代碼雖然不長(zhǎng),但是還是蠻占篇幅的,所以簡(jiǎn)要的說明一下流程。

主要由三部分組成,一是素材,圖片音頻之類的文件,二是Python代碼,三是kv文件,這個(gè)kv文件有點(diǎn)像 html 中的css。

Python代碼的文件名一般命名為 main.py

然后一定有一個(gè)叫做 XXXApp 的類,并繼承 App。

比如該類叫做GameApp,那么該目錄下的kv文件則必須為Game,如上圖所示,如果不是,那么kv文件中的一些設(shè)定就不會(huì)生效。

比如設(shè)定一個(gè)標(biāo)簽

Label:

id: time

text: 'xxxx'

font_size: 60

id為time,text文本內(nèi)容為'xxxx',然后字體為60

好吧,點(diǎn)到為止吧,不過似乎什么都沒點(diǎn)到~~~

你還有什么想要補(bǔ)充的嗎?

你在看嗎?一起成長(zhǎng)

本文標(biāo)題:python開發(fā)android應(yīng)用,python 開發(fā)android
標(biāo)題路徑:http://muchs.cn/article20/phepco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)定制網(wǎng)站、軟件開發(fā)面包屑導(dǎo)航、品牌網(wǎng)站設(shè)計(jì)外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司