本节进行环境搭建,如果已经安装好了,请跳转【python开发安卓APP】(二)BeeWare 项目打包

这里我使用vscode来搭建环境。
确保vscode已经配好python环境

创建python虚拟环境
首先打开终端

python -m venv hello
执行指令创建一个名为hello的虚拟环境

选择新建的python 环境。 
激活环境
.\hello\Scripts\activate
下载安装BeeWare包
python -m pip install briefcase
下载完成

新建项目
briefcase new
按照下面说明修改自己的项目,我这里都回车选择默认。
Briefcase会要求我们提供新应用程序的一些详细信息。在本教程中,请使用以下内容:
-
Formal Name - 接受默认值:
Hello World。 -
App Name - 接受默认值:
helloworld。 -
Bundle - 如果您拥有自己的域名,请按相反顺序输入该域名。(例如,如果您拥有域名 "cupcakes.com",则输入
com.cupcakes作为 Bundle)。如果您没有自己的域名,请接受默认的 Bundle(com.example)。 -
Project Name - 接受默认值:
Hello World。 -
描述 - 接受默认值(或者,如果您想发挥自己的创造力,也可以提出自己的描述!)
-
Author - 在此处输入您自己的名字。
-
Author's Email - 输入您自己的电子邮件地址。这将用于配置文件、帮助文本以及向应用程序商店提交应用程序时需要电子邮件的任何地方。
-
URL - 应用程序登陆页面的 URL。同样,如果您拥有自己的域名,请输入该域名的 URL(包括
https://)。否则,只需接受默认 URL (https://example.com/helloworld)。此 URL(暂时)不需要实际存在;只有在您将应用程序发布到应用程序商店时才会使用。 -
License - 接受默认许可证(BSD)。这不会影响本教程的任何操作,因此,如果您对许可证选择有特别强烈的意见,请随意选择其他许可证。
-
GUI Framework - 接受默认选项 Toga(BeeWare 自己的图形用户界面工具包)。
接下来,Briefcase 会生成一个项目骨架供你使用。如果你到目前为止都已经跟着这个教程走的话,并接受了所述的默认设置,那么你的文件系统应该是这样的:


在 src/helloworld 目录中,你应该看到 3 个文件:__init__.py、__main__.py 和 app.py。
__init__.py 将 helloworld 目录标记为可导入的 Python 模块。这是一个空文件;它的存在告诉 Python 解释器 helloworld 目录定义了一个模块。
__main__.py 将 helloworld 模块标记为一种特殊的模块 - 可执行模块。如果你尝试使用 python -m helloworld 试图运行 helloworld 模块,Python 将从 __main__.py 文件开始执行。
我们第一个应用示例
cd helloworld
briefcase dev


到这里环境已经搭建好了,后续也要继续学习啊。
扩展
在app.py中
"""
app.py
My first application
"""
import toga
from toga.style import Pack
from toga.style.pack import COLUMN, ROW
class HelloWorld(toga.App):
def startup(self):
main_box = toga.Box(direction=COLUMN)
name_label = toga.Label(
"Your name: ",
margin=(0, 5),
)
self.name_input = toga.TextInput(flex=1)
name_box = toga.Box(direction=ROW, margin=5)
name_box.add(name_label)
name_box.add(self.name_input)
button = toga.Button(
"Say Hello!",
on_press=self.say_hello,
margin=5,
)
main_box.add(name_box)
main_box.add(button)
self.main_window = toga.MainWindow(title=self.formal_name)
self.main_window.content = main_box
self.main_window.show()
def say_hello(self, widget):
print(f"Hello, {self.name_input.value}")
def main():
return HelloWorld()
运行

8982

被折叠的 条评论
为什么被折叠?



