喝卤小夫 2023-02-16 11:52 采纳率: 48.1%
浏览 26

kivy程序在手机上运行后的存储问题

我用kivy写了一个程序,这个程序安装到手机后的窗口如图,

img


窗口里只有两个部件,一个是按钮,一个是标签。
当点击按钮的时候,程序会生成一个叫做data.csv的文件,文件的存储路径就是标签上显示的那个路径。
但是我在手机里为什么找不到这个路径?如图

img


在0文件夹下没有org.test.myapp这个文件夹,也没有隐藏,因为显示隐藏的文件也没有。
甚至我自己建出这个文件路径来,生成的data.csv文件也没在这个路径下,这是为什么?
如何才能找到这个文件?

  • 写回答

2条回答 默认 最新

  • 「已注销」 2023-02-16 19:22
    关注

    首先,手机上的文件系统和电脑上的文件系统是不一样的。在手机上,每个应用都有自己的私有文件目录,其他应用和用户是无法访问的,这是出于安全和隐私的考虑。所以你在电脑上找到的文件路径,在手机上可能是不存在的。

    其次,Kivy 应用默认是使用应用包名作为应用目录的一部分,而不是 org.test.myapp。你可以在你的应用代码中使用以下代码获取应用目录的路径:

    from kivy.utils import platform
    from os.path import join
    
    if platform == 'android':
        app_dir = "/sdcard/" + self.package + "/"
    else:
        app_dir = "./"
    

    另外,你在代码中指定的文件路径也可能存在问题。在移动设备上,文件系统通常是只读的,不允许应用程序在任意位置写入文件。通常,应用程序只能在其私有文件目录或者外部存储设备(如SD卡)上写入文件。你可以使用以上代码中的 app_dir 变量来获取应用程序的私有文件目录,然后将文件写入该目录。

    最后,你可以尝试使用文件管理器应用查看应用程序的文件目录,例如在 Android 上,你可以下载一个名为“文件管理器”的应用,并使用它查看应用目录中是否存在该文件。
    如果对您有帮助,请给与采纳,谢谢。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月16日

悬赏问题

  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥100 关于#audobe audition#的问题,如何解决?
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22
  • ¥15 R语言中lasso回归报错