0

我在 KivyApp 的帮助下制作了一个 APK。APK 生成成功,我的 APK 也在我的手机上运行。问题是我没有为 CSV 文件提供任何特定路径,该文件存储了应用程序生成的输出。最初,我在 pydroid3 应用程序中运行 python 代码,它会在存储我的代码的同一位置自动生成 CSV 文件。我的问题是如果我想将数据存储在手机的内部存储器中,我应该输入什么路径?

import csv
csvfile = "Discrete_pos.csv"
with open(csvfile, "a") as fp:
    wr = csv.writer(fp, dialect='excel')
    wr.writerow(csvRow)
        
4

1 回答 1

0

好吧,我想您的意思是External Storage(可以通过任何应用程序访问,您在移动文件浏览器中看到的)的路径,因为它已经存储在您的内部存储路径中。现在访问外部存储有两种方法。但首先你需要存储权限。要获得存储权限,请使用以下代码:

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
external_storage = primary_external_storage_path()

有时这在某些 android 设备上不起作用,所以如果你遇到这个问题,那么你也可以使用os.getenv

external_storage = os.getenv('EXTERNAL_STORAGE')

另外,不要忘记写入文件READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE的权限buildozer.spec

于 2021-03-03T11:56:26.393 回答