Android kivy 在哪里放置应用程序文件(ini、图像数据库等)
Posted
技术标签:
【中文标题】Android kivy 在哪里放置应用程序文件(ini、图像数据库等)【英文标题】:Android kivy where to put application files (ini, images db etc) 【发布时间】:2015-07-06 20:46:02 【问题描述】:我已经使用 kivy 为 android 创建了一个原型应用程序。它已在 buildozer 中编译,我已上传到 Android 设备。
但我不确定将应用程序相关文件(如 ini 文件、图像数据库等)放在哪里。
非常感谢任何帮助
[编辑 2020 07 25]
当我问这个问题时(很多个月前),我对 kivy 和 buildozer 的整个想法都是新手。
我没有意识到以及对于初学者来说不明显的事情(见证这个问题被查看的次数)以及 @inclement 的答案没有解决的问题是 Buildozer 将整个 python/kivy 项目包装到一个可以包含所有 static 数据的文件。因此,您只需要确保您的 buildozer 规范能够接受它们。
【问题讨论】:
【参考方案1】:您可以安排它们品尝 - 只要您告诉 buildozer 包含它们 apk(即通过设置要包含的文件类型、目录等)并在您的代码中使用相对路径访问它们,它们将以相同的方式工作在设备上。
ini 文件可能是一个例外,我不确定 kivy 尝试从哪里加载它(但它可能位于外部数据目录中的某个位置)。如果将它放在与 main.py 相同的目录不起作用,也许您可以使用相对路径手动加载它,或者如果它只有几个值,那么您可以在 main.py 文件中设置它们。
【讨论】:
非常感谢。是的,我所有的编码都使用相对目录。但是在android设备上,相对于哪里呢? SD卡? 到 python 脚本 - 如果相关目录在你的电脑上工作,并且你的文件被 buildozer 正确包含,它们也可以在 android 上工作。 是的。但我没有将 python 脚本加载到 android 它是一个 APK 文件 您的 main.py 将在 APK 中以相同的方式运行(就重要而言),并且您的本地文件夹结构将被保留,因此您可以以相同的方式引用资产。跨度>以上是关于Android kivy 在哪里放置应用程序文件(ini、图像数据库等)的主要内容,如果未能解决你的问题,请参考以下文章
在 Kivy 的 API 30 (Android 11) 中读取和写入文件