BeeWare开发

基础使用方法

前置:python编译器、pycharm软件,还有一个会思考的大脑
本节参考:移动APP开发指导Python+Beeware

项目创建

  1. 进入任意文件夹(非中文路径),打开cmd面板 || 或者使用pycharm新建项目,打开终端。

pycharm新建项目

  1. 使用 pip命令安装相关包
使用

python -m pip install beeware 安装一系列 BeeWare 生态系统中的核心组件。

使用pip命令安装相关包

  1. 等待下载完毕,在命令行中输入 briefcase new,开始创建BeeWare项目模板。

    运行成功后,会要求输入项目名称、包名等信息,具体如下:

    Formal Name [Hello World]: PunchIn  # app名称(显示在软件标题的名称)
    App Name [punchin]: PunchIn  # 机器可读名称(需符合PEP508规范)
    Bundle Identifier [com.example]: com.romcere  # 域名/唯一标识,用于区分来自不同开发者或组织的应用程序
    Project Name [打卡]: PunchIn  # 用于标识整个项目的名称
    Description [My first application]: 提供一个用于打卡、记账等为生活便利的软件。  # 应用程序的简短描述(不想写,可以直接回车跳过)
    Author [Jane Developer]: Romcere  # 开发者名称
    Author' s Email [romcere@romcere.com]: ttianhuoddh@gmail.com  # 电子邮箱(可跳过)
    Application URL [https://romcere.com/PunchIn]: https://romcere.top  # 为该程序提供一个网页URL(可跳过)
    Project License [1]: 2  # 许可协议(直接选2即可)
    GUI Framework [1]: 1  # 图像用户界面框架(开发跨平台应用选择1)
    

    依次选择完上述内容后,会提示你 cd到自动创建好的文件夹内,

    提示你cd到自动创建好的文件夹

    我们在终端中依次输入两行命令:

    cd PunchIn  # cd到自动创建好的文件夹内
    briefcase dev  # 运行应用程序的开发模式
    

    等待一段时间后,出现如下界面,程序运行成功:

程序运行成功界面

项目打包

前置:电脑中需安装Android Studio 和 SDK、Java JDK,并配置好环境变量

  1. 现在项目太空,我们在app.py中写点代码让其丰富起来。

    我们依次打开文件:PunchIn > src > PunchIn > app.py:

app.py

  1. 根据官网提供的示例模板,使app.py的代码看起来像这样:
class PunchIn(toga.App):
    def startup(self):
        main_box = toga.Box(style=Pack(direction=COLUMN))

        name_label = toga.Label(
            "你的名字: ",
            style=Pack(padding=(0, 5)),
        )
        self.name_input = toga.TextInput(style=Pack(flex=1))

        name_box = toga.Box(style=Pack(direction=ROW, padding=5))
        name_box.add(name_label)
        name_box.add(self.name_input)

        button = toga.Button(
            "你好!",
            on_press=self.say_hello,
            style=Pack(padding=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 PunchIn()
  1. 完成之后,我们在终端中输入 briefcase dev运行,出现如下界面:

运行结果

  1. 完成上述内容后,我们就可以着手打包成apk了,依次输入下列命令:
briefcase create android  # 创建Android项目
briefcase build android  # 构建 Android 应用
briefcase run android  # 运行 Android 应用

运行 Android 应用后,会让你选择创建或选择现有Android模拟器:

创建或选择现有Android模拟器

这里选择4创建一个新的模拟器,输入一个模拟器名称 PunchInPhone,等待运行完后,出现如下界面,则成功:

模拟器界面

  1. 如果想使用apk文件,到模拟器中使用,根据此路径寻找 <PunchIn_APP>/PuchIn/android/gradle/app/build/outputs/apk

apk文件

  1. 如果你更新了源代码,希望重新生成apk,可以使用下述命令执行:

    briefcase build android --clean  # 清理项目
    briefcase build android  # 重新构建apk
    

其他

####pyproject.toml

该文件描述了如何打包发布应用程序,打开后就会看到刚才提供给 Briefcase 的配置详细信息

icon图标配置项

在该文件中 [tool.briefcase]下添加 icon配置项,可配置app图标:

icon配置项

在配置图标时会遇到的坑:

  1. icon配置项最后的路径必须是文件名前缀,而不是文件夹。

    此前缀将与文件大小和变体修饰符相结合,以生成要使用的图标文件列表。

  2. 使用以下命令重新构建/更新apk文件

briefcase update android --update-resources  # 更新资源文件
briefcase build android --update-resources  # 更新apk文件
  1. 当你更换错误的图标文件后,原图标不会被更换(除非删除 build文件夹会恢复默认图标),这是因为图标被缓存了(未证实)

  2. 使用 splash_background_color = "#D3E6F5"改变启动画面背景颜色时,需删除 build文件夹重新构建 build或使用 briefcase create android覆盖 build文件夹

  3. app图标和启动界面图标,必须使用指定后缀(和适配的图标大小)

    以下为测试后可用后缀,更后缀的 324表示图标大小,需和Android手机的规格适配

指定后缀

附言

后续界面开发需学习Toga应用,本人在了解完后,发现其制作的界面较为简陋(可能是我的技术不到位),于是转变其他方向。

因为本人只想做一款打卡、记账等功能集成的软件,虽然界面不重要,但有一个好看的界面会更有兴趣一些。于是了解到有一种 混合应用开发框架,它们可以结合 vue.js来开发出好看的界面,并可以打包成安卓程序,于是本人放弃了此篇更新。

——2024.9.20
文章作者: Romcere.
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Romcere.
Android BeeWare Android
喜欢就支持一下吧