Android上的Kivy:应用程序更新后如何保留本地保存的文件?

时间:2019-01-17 19:53:49

标签: android kivy

我想知道在应用程序更新后保留本地保存数据的正确步骤。

我确认了以下旧问题,但无法解决。 Save app data in kivy on Android

我尝试了以下方法。

  1. 1-1:我用buildozer(命令:buildozer android debug)制作了android APK。 1-2:然后使用“ kivy.storage”执行“ store.put”方法。然后在“ ./”目录中创建“ hello.json”文件。 https://kivy.org/doc/stable/api-kivy.storage.html

      

    1-1:APK版本1中的“ ./”目录

         
        

    main.pyo

      
         

    1-2:APK版本1中的“ ./”目录

         
        

    main.pyo,hello.json(创建)

      
  2. 2-1:我制作了Android APK ver.2(应用名称与1.APK相同)。 2-2:在更新模式下安装后,仅使用'kivy.storage'执行'store.get'方法。然后方法失败,因为'hello.json'文件随应用程序更新自动删除。

      

    2-1:APK版本2中的“ ./”目录

         
        

    main.pyo(从APK版本1更改)

      
         

    2-2:'./'目录已更新APK

         
        

    main.pyo(版本2)

      
  3. 我试图更改'hello.json'文件的输出位置,但这没有任何意义。 例如'./data/data/[app_name]/files/hello.json'和'./data/data/[app_name]/shared_prefs/hello.json'

如何更新我的应用程序?

1 个答案:

答案 0 :(得分:0)

默认当前目录中名为app的所有内容都会在应用程序更新时删除并替换。您可以将持久性数据放置在该目录的上方上,即../,并且该目录应在更新之间保持不变。

您还可以使用应用程序的外部存储目录,使用pyjnius来查询Android API的位置,但是我现在没有代码。

对此文档的记录不是很好,我会尝试对其进行改进。