Python - Kivy 是否在 Android 应用程序中实施活动?

Python - Does Kivy implements activities in the Android apps?

众所周知,在原生 Java 中开发 Android 应用程序时,我们使用活动。我想知道,在 Python(使用 Kivy)中开发 Android 应用程序时,Kivy 是否为应用程序本身实现活动?因为我没有在示例代码中看到任何 activity 实现。

如果它不实施活动,与原生 Java 编码相比,我们是否会损失应用程序的性能或任何功能?

Kivy 是开发 Android 应用程序的绝佳工具。使用Kivy最大的优势就是它是跨平台的,同一个项目可以在多个平台上发布应用。

但是,它有一些与性能相关的缺点(大多数跨平台工具如 unity、cocos 等也是如此)。如果您只为 Android 开发,我建议您查看使用 Java 的开发工具。这将有助于创建更小的 APK 文件,进而有助于更好地保留用户。

我猜你是Python的忠实粉丝,但我不得不告诉你它的优点和缺点。

优势

  1. 纯粹python,全能在你手
  2. 使用 buildozer 部署相对简单,无需深入了解特定平台的细节。
  3. 您也可以 运行 在桌面上使用您的应用程序,因此无需安装一些额外的 emulators/VMs 即可运行

缺点

  1. 互联网上的信息不多,即使在 Whosebug 上也是如此
  2. 相当混乱的文档
  3. 没有明显的方法来测试应用程序
  4. 放置小部件的机制不明显,尤其是在内置布局中,这会导致以下情况:您希望将小部件放置在其父级的中心,但 kivy 将其放置在任何地方而不是您想要的位置。
  5. 官方示例非常丑陋,因此您可能会对您的应用程序的外观产生错误的看法。

简单地说,你可以使用 Activity(使用 pyjnius 启动它们),但不能真正定义它们,至少,这不是通常使用 kivy 的方式。

Kivy 没有针对目标平台调整其工作方式,它使用自己的系统,并让它们在那里工作。据我所知,在 android 上分离 Activity 的优点只是一种使您的代码组织得更整齐的方法,并不意味着性能会发生变化。它可以让您以各种方式启动您的应用程序(例如,从共享),但您也可以使用 p4a/buildozer 来启动您的应用程序,如果需要,可以通过发送有关意图的消息。使用 kivy,您可以像对待任何 python 项目一样使用模块来组织代码。