Plyer 是一个平台无关的 Python 封装器,封装了一些平台独立的 API。Plyer 并非要重复造轮子,而是将一些平台的差异通过简单的 API 进行封装。
on python-for-android, pyjnius is used
on kivy-ios, pyobjus is used
on windows/mac/linux, commonly found libraries and programs will be used
示例代码:
from plyer.vibrator import vibrate vibrate(10) # in Plyer, the argument is in seconds
Platform | Android < 4.0 | Android > 4.0 | iOS | Windows | OSX | Linux |
---|---|---|---|---|---|---|
Accelerometer | X | X | X | X | X | |
Camera (taking picture) | X | X | ||||
GPS | X | X | X | |||
Notifications | X | X | X | X | X | |
Text to speech | X | X | X | X | X | X |
Email (open mail client) | X | X | X | X | X | |
Vibrator | X | X | ||||
Sms (send messages) | X | X | ||||
Compass | X | X | X | |||
Unique ID (IMEI or SN) | X | X | X | X | X | X |
Gyroscope | X | X | X | |||
Battery | X | X | X | X | X | X |
Native file chooser | X | X | X |
好文共享下: Guest Post: Accessing Android Sensors with Kivy via Plyer
主要内容:Python 类如何进行封装?不光是 Python,大多数面向对象编程语言(诸如 C++、 Java 等)都具备 3 个典型特征,即封装、继承和多态。其中,本节重点讲解 Python 类的封装特性,继承和多态会在后续章节给大家做详细讲解。 简单的理解封装(Encapsulation),即在设计类时,刻意地将一些属性和方法隐藏在类的内部,这样在使用此类时,将无法直接以“类对象.属性名”(或者“类对象.方法名(参数)”)的形式调用
问题内容: 我想在多个平台(包括Mac OS)上运行程序,所以我尝试使其尽可能独立于平台。我自己使用Windows,并且一行。这对我有效,但在其他平台上无效(我阅读了文档,但尚未为自己进行测试)。 是否有适用于所有平台的等效产品? 顺便说一句,该文件是一个文件,但是我希望用户能够使用其标准媒体播放器,以便他们可以暂停/倒带该文件。这就是为什么我使用。我也许可以使用允许播放/暂停/快退媒体文件的库。
我试图构建一个应用程序的跨平台归档,该应用程序使用Java11构建,并用打包。 对于跨平台打包,我的构建基于这个答案。我已经设法让我的Gradle构建下载目标平台的JDK,并使用适当的文件夹调用,但是目标映像始终包括主机平台的二进制文件和JRE结构(在我的例子中是Windows,这意味着生成的文件夹始终包括DLL和Windows可执行文件)。如果提供标志,则根本不包括可执行文件,尽管DLL仍然是。
问题内容: 我知道文件的相对路径,并希望将其作为 Linux和Windows上的对象来处理。 在Java中指定平台无关路径的最佳方法是什么? 问题答案: 本类包含可用于特定平台的文件路径下面的公共成员: 系统相关的路径分隔符,为方便起见,用字符串表示。 系统相关的路径分隔符。 系统相关的默认名称分隔符,为方便起见,以字符串形式表示。
问题内容: 如何在Python的app文件夹中使用文件?当然与平台无关…类似于以下内容: 问题答案: 您可以使用及其功能,这些功能负责特定于OS的路径: 在Windows上,它应该以反斜杠打印出来。
问题内容: 除了匿名类()之外,有人可以建议在道德上等效的类也适用于Windows吗? 如果有人想知道“这是干什么的?” 我有一个程序可以对文件进行一致性分析。它具有“详细”选项。启用verbose选项时,我希望看到很多输出。该程序并不着急,它只是一个工具,因此,与其编写所有这些额外的语句来测试是否需要输出,我只是想在不需要时将其写入到位桶中。 问题答案: 您可以从Apache Commons h