喝卤小夫 2023-02-15 21:59 采纳率: 48.1%
浏览 21

kivy程序生成csv文件并存储到手机的问题

编写的kivy程序会生成一个csv文件,现在将这个kivy程序打包成了可以在安卓给系统上运行的apk安装文件,安装到手机后运行总是闪退。
原因应该是存储路径的问题。我现在想在手机上生成这个csv文件,应该怎么办?

  • 写回答

2条回答 默认 最新

  • 量化研究所 2023-02-15 23:07
    关注

    在移动设备上生成CSV文件的方法取决于设备的操作系统和应用程序的访问权限。以下是一些可能的解决方案:

    如果您的应用程序需要访问外部存储空间(例如SD卡),您可以使用Kivy的App.user_data_dir属性来获取应用程序的外部存储目录,然后在该目录下创建CSV文件。例如:

    from kivy.app import App
    import os
    
    class MyApp(App):
        def build(self):
            # 获取应用程序的外部存储目录
            path = App.user_data_dir
            # 创建CSV文件
            filename = os.path.join(path, "data.csv")
            with open(filename, "w") as f:
                f.write("hello, world\n")
    
    

    如果您的应用程序没有访问外部存储空间的权限,您可以使用内部存储空间来创建CSV文件。在Android上,应用程序可以使用内部存储空间的私有目录来存储数据,该目录只能由应用程序访问。Kivy的App.user_data_dir属性也可以返回应用程序的内部存储目录。例如:

    from kivy.app import App
    import os
    
    class MyApp(App):
        def build(self):
            # 获取应用程序的内部存储目录
            path = App.user_data_dir
            # 创建CSV文件
            filename = os.path.join(path, "data.csv")
            with open(filename, "w") as f:
                f.write("hello, world\n")
    
    

    请注意,如果您的应用程序需要在启动时读取之前生成的CSV文件,您需要确保文件已经存在并可用。如果文件不存在,则需要在应用程序中进行相应的处理。

    另外,如果您在应用程序中使用了其他依赖项或库,这些依赖项或库也需要在打包成apk文件时一并打包。如果依赖项或库无法正确加载,也可能导致应用程序闪退。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月15日

悬赏问题

  • ¥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回归报错