Kivy android SDCard 路径不工作
Kivy android path of SDCard does not work
我正在尝试将用户输入保存到一个文件中,以便以后在我的计算机上使用。我不能使用相对路径,因为我的 phone 上没有根目录,所以无法访问它。我正在尝试使用 android.storage
模块和 primary_external_storage_path
,但它在我的 phone 上根本不起作用。这只是我的应用程序的一个片段。
from android.permissions import request_permissions, Permission
request_permissions([Permission.WRITE_EXTERNAL_STORAGE,
Permission.READ_EXTERNAL_STORAGE])
from android.storage import primary_external_storage_path
SD_CARD = primary_external_storage_path()
class MyApp(App):
def build(self):
with open('settings.txt', 'r') as file:
f = open(SD_CARD + today.strftime("%Y_%m_%d") + ".txt", 'a+')
...
好像哪里出了问题?我在 phone 上使用 Android 7.1.1。据我所知,buildozer(我用来构建 APK)包含 android 包,所以应该包含所有内容。 buildozer 的 .spec
文件中有什么东西?
您可能必须在 buildozer.spec
文件的要求中包含 android
。即使在那之后,如果您遇到错误,那么您可能正在使用旧版本的 kivy。因此,您必须通过将要求指定为 kivy==2.0.0
来使用最新版本。更改 kivy 版本后,您必须重建您的应用程序。或者还有另一种方法可以获得外部存储路径。您可以使用 os.getenv('EXTERNAL_STORAGE')
。这将为您提供外部存储的路径
我正在尝试将用户输入保存到一个文件中,以便以后在我的计算机上使用。我不能使用相对路径,因为我的 phone 上没有根目录,所以无法访问它。我正在尝试使用 android.storage
模块和 primary_external_storage_path
,但它在我的 phone 上根本不起作用。这只是我的应用程序的一个片段。
from android.permissions import request_permissions, Permission
request_permissions([Permission.WRITE_EXTERNAL_STORAGE,
Permission.READ_EXTERNAL_STORAGE])
from android.storage import primary_external_storage_path
SD_CARD = primary_external_storage_path()
class MyApp(App):
def build(self):
with open('settings.txt', 'r') as file:
f = open(SD_CARD + today.strftime("%Y_%m_%d") + ".txt", 'a+')
...
好像哪里出了问题?我在 phone 上使用 Android 7.1.1。据我所知,buildozer(我用来构建 APK)包含 android 包,所以应该包含所有内容。 buildozer 的 .spec
文件中有什么东西?
您可能必须在 buildozer.spec
文件的要求中包含 android
。即使在那之后,如果您遇到错误,那么您可能正在使用旧版本的 kivy。因此,您必须通过将要求指定为 kivy==2.0.0
来使用最新版本。更改 kivy 版本后,您必须重建您的应用程序。或者还有另一种方法可以获得外部存储路径。您可以使用 os.getenv('EXTERNAL_STORAGE')
。这将为您提供外部存储的路径