日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

使用Python开发Android软件

發(fā)布時間:2024/1/18 Android 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Python开发Android软件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

kivy

Kivy 是一個開源的 Python 框架(2011年),用于快速開發(fā)應(yīng)用,實現(xiàn)各種當(dāng)前流行的用戶界面,比如多點 觸摸等等。 Kivy 可以運(yùn)行于 Windows, Linux, MacOS, Android, iOS 等當(dāng)前絕大部分主流桌面/移 動端操作系統(tǒng)。 Kivy 基于 Python,界面UI文件和程序文件相互分離的設(shè)計思路,設(shè)計簡潔優(yōu)雅,語法易學(xué),適合新 人入門。 目前 Kivy 的官方文檔還算很完善。

第一個應(yīng)用

main.py:

from kivy.app import App from kivy.uix.widget import Widget from kivy.properties import (NumericProperty, ReferenceListProperty, ObjectProperty ) from kivy.vector import Vector from kivy.clock import Clockclass PongPaddle(Widget):score = NumericProperty(0)def bounce_ball(self, ball):if self.collide_widget(ball):vx, vy = ball.velocityoffset = (ball.center_y - self.center_y) / (self.height / 2)bounced = Vector(-1 * vx, vy)vel = bounced * 1.1ball.velocity = vel.x, vel.y + offsetclass PongBall(Widget):velocity_x = NumericProperty(0)velocity_y = NumericProperty(0)velocity = ReferenceListProperty(velocity_x, velocity_y)def move(self):self.pos = Vector(*self.velocity) + self.posclass PongGame(Widget):ball = ObjectProperty(None)player1 = ObjectProperty(None)player2 = ObjectProperty(None)def serve_ball(self, vel=(4, 0)):self.ball.center = self.centerself.ball.velocity = veldef update(self, dt):self.ball.move()# bounce of paddlesself.player1.bounce_ball(self.ball)self.player2.bounce_ball(self.ball)# bounce ball off bottom or topif (self.ball.y < self.y) or (self.ball.top > self.top):self.ball.velocity_y *= -1# went of to a side to score point?if self.ball.x < self.x:self.player2.score += 1self.serve_ball(vel=(4, 0))if self.ball.right > self.width:self.player1.score += 1self.serve_ball(vel=(-4, 0))def on_touch_move(self, touch):if touch.x < self.width / 3:self.player1.center_y = touch.yif touch.x > self.width - self.width / 3:self.player2.center_y = touch.yclass PongApp(App):def build(self):game = PongGame()game.serve_ball()Clock.schedule_interval(game.update, 1.0 / 60.0)return gameif __name__ == '__main__':PongApp().run()

pong.kv:

#:kivy 1.0.9<PongBall>:size: 50, 50 canvas:Ellipse:pos: self.possize: self.size <PongPaddle>:size: 25, 200canvas:Rectangle:pos: self.possize: self.size<PongGame>:ball: pong_ballplayer1: player_leftplayer2: player_rightcanvas:Rectangle:pos: self.center_x - 5, 0size: 10, self.heightLabel:font_size: 70 center_x: root.width / 4top: root.top - 50text: str(root.player1.score)Label:font_size: 70 center_x: root.width * 3 / 4top: root.top - 50text: str(root.player2.score)PongBall:id: pong_ballcenter: self.parent.centerPongPaddle:id: player_leftx: root.xcenter_y: root.center_yPongPaddle:id: player_rightx: root.width - self.widthcenter_y: root.center_y

打包apk文件

python+buildozer+kivy打包apk文件 - 簡書

GitHub - kivy/python-for-android: Turn your Python application into an Android APK

beeware

用Python編寫,無處不在運(yùn)行。

BeeWare是一套工具和庫的集合,每個工具和庫都可以協(xié)同工作,幫助您編寫跨平臺本地GUI Python應(yīng)用程序。它包括:

  • Toga,一個跨平臺的小部件工具包;
  • Briefcase,一個將Python項目打包為可分發(fā)的工件并可發(fā)送給最終用戶的工具;
  • 庫(如Rubicon ObjC)用于訪問平臺本地庫;
  • 預(yù)編譯的Python版本,可用于官方Python安裝程序不可用的平臺。

您可以單獨(dú)使用每個工具,也可以將它們?nèi)坑米饕惶坠ぞ摺?/p>

完整的BeeWare套件還包括使用BeeWare自己的庫編寫的軟件開發(fā)工具和應(yīng)用程序。

BeeWare套件可用于macOS、Windows、Linux(使用GTK)、Android和iOS等移動平臺,以及Web。我們的長期路線圖中還支持其他平臺(如機(jī)頂盒和手表)。

參考資料:

https://blog.csdn.net/ZNJIAYOUYA/article/details/126553693

Tutorial 1 - Your first app - BeeWare Tutorial

https://github.com/beeware/briefcase

總結(jié)

以上是生活随笔為你收集整理的使用Python开发Android软件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。