用Python框架BeeWare 开发安卓app:
提示:运行Python 3.7或更高版本
例如:
- [** ] 作者使用的Pycharm编译器
- Pycharm过滤安装和使用教程 ~ ~ ~
搭建BeeWare教程:
BeeWare 是一个基于 Python 构建的跨平台应用开发框架可以使 Python 编写的图形程序在 iOS, Android, Windows, MacOS, Linux, Web, 和 tvOS 上运行似乎是一个非常强大的最新GUI库!
安装:
打开Pycharm 安装运行终端的编辑器pip install briefcase
创建应用 BeeWare 安装完成后,我们可以通过它 briefcase 命令在命令行终端执行 BeeWare 新建、运行、施工、包装等应用管理。
命令输入后,会让我们输入「正式名称的应用」、「应用程序名称」、「域名」、「项目名称」等待信息,出于演示,我们都使用默认值。
先用命令 briefcase new 创建应用程序。
输入完成后,BeeWare它将开始创建应用程序。创建完成后,将有以下提示:
同时,目录下还有一个与应用程序名称相同的目录:
接下来我们打开 HelloWorld目录下的,之后,代码从这里编写,然后主窗是__main__.py
接下来,因为我直接打包了Python一些第三方库:requests 、BeautifulSoup,因此,有必要修改配置并找到它Helloworld目录下的 这个文件,然后找到第15行requires添加您需要的第三方库,例如:
然后,需要添加第52行requires列表:
3.运营项目:
briefcase dev 我默认修改了这里app.py几行代码
""" My first application """ import toga import requests from bs4 import BeautifulSoup from toga.style import Pack from toga.style.pack import COLUMN, ROW class HelloWorld(toga.App): def __init__( self, formal_name=None, app_id=None, app_name=None, id=None, icon=None, author=None, version=None, home_page=None, description=None, startup=None, windows=None, on_exit=None, factory=None, ): super().__init__(formal_name, app_id, app_namespan class="token punctuation">, id, icon, author, version, home_page, description, startup,
windows, on_exit, factory)
self.headers = None
self.title_name = None
self.main_box = None
def startup(self):
""" Construct and show the Toga application. Usually, you would add your application to a main content box. We then create a main window (with a name matching the app), and show the main window. """
self.main_box = toga.Box(style=Pack(direction=COLUMN))
button = toga.Button(
'GET',
on_press=self.get_pyauto, # 按钮要调用的函数
style=Pack(padding=5)
)
self.main_box.add(button)
self.main_window = toga.MainWindow(title=self.formal_name)
self.main_window.content = self.main_box
self.main_window.show()
def get_pyauto(self, widget):
self.headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/102.0.5005.124 Safari/537.36 Edg/102.0.1245.41 "
}
req = requests.get('https://www.pyautorobot.xyz/', headers=self.headers)
if req.status_code == 200:
req.encoding = "utf-8"
soup = BeautifulSoup(req.text, "html.parser")
self.title_name = soup.title.text
label = toga.Label(
self.title_name,
style=Pack(padding=(0, 5))
)
self.main_box.add(label)
def main():
return HelloWorld()
这里的__main__.py代码不变,主程序入口!
4. 打包为安卓APP
(1)首先,创建应用的安卓脚手架:briefcase create android 输入y,创建安卓平台环境。 (2)接着我们编译程序,构建安卓应用:briefcase build android (3)编译完成之后,运行模拟器。这里我电脑配置原因,没有安装模拟器而是直接打包apk文件,在这里会让我们选择设备,可以选择 BeeWare 提供的安卓虚拟机或者是在电脑上连接自己的手机,我们选择安卓虚拟机:briefcase run android
注:这里的话,我的Python版本是3.9,建议安装3.7或者3.8
(4)最后,打包安卓应用:briefcase package android 打包完成之后,会默认生成一个apk文件,那个文件就是我们打包好的安卓app文件,在目录下:D:\AutoProject\helloworld\android\gradle\Hello World\app\build\outputs\apk\debug\app-debug.apk
最后,我们打开写好的app文件:
感谢Python爱好者,感谢这个伟大的开源自由教皇主义!作者:发发 【&】QQ: 2633475788