首页 > 解决方案 > Android 上的 Kivy:如何在应用更新后保留本地保存的文件?

问题描述

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

我确认了以下旧问题,但我无法解决问题。 在 Android 上的 kivy 中保存应用数据

我尝试了以下。

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

    1-1: APK ver.1 中的'./' 目录

    主文件

    1-2: APK ver.1 中的'./' 目录

    main.pyo,hello.json(创建)

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

    2-1:APK ver.2中的'./'目录

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

    2-2:更新APK中的'./'目录

    main.pyo(ver.2)

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

如何更新我的应用程序?

标签: androidkivy

解决方案


默认当前目录(名为 )中的所有内容都会app在应用更新时被删除和替换。您可以将持久数据放在上面的目录中,即../,它应该在更新之间保留。

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

这不是特别好的文档,我会尝试改进它。


推荐阅读