android - Android 上的 Kivy:如何在应用更新后保留本地保存的文件?
问题描述
我想知道在应用更新后保留本地保存数据的正确步骤。
我确认了以下旧问题,但我无法解决问题。 在 Android 上的 kivy 中保存应用数据
我尝试了以下。
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-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)
我尝试更改“hello.json”文件的输出位置,但没有任何意义。例如 './data/data/[app_name]/files/hello.json' 和 './data/data/[app_name]/shared_prefs/hello.json'
如何更新我的应用程序?
解决方案
默认当前目录(名为 )中的所有内容都会app
在应用更新时被删除和替换。您可以将持久数据放在上面的目录中,即../
,它应该在更新之间保留。
您还可以使用应用程序的外部存储目录,使用 pyjnius 查询 Android API 的位置,但我现在没有代码。
这不是特别好的文档,我会尝试改进它。
推荐阅读
- java - 多线程同步方法
- java - 当使用 `openjdk:11` 或 `openjdk:8` 和 CGroups 的实验标志时,仍然需要 `-Xmx`
- c# - C# 使用按钮在 DateTimePicker 显示上一个和下一个日期
- wpf - WPF更改带有透明背景的isSelected上的TabItem图像背景
- c# - 如何通过 MakeGenericType 制作通用 lambda
- c# - Unity 3D Raycast 没有朝着正确的方向发展
- sql - 如何在 SQL 中选择两个表之间不匹配的行?
- bixby - 将 Bixby http 请求直接发送到 localhost
- eclipse - 使用 Eclipse (MacOS) 将经过验证的提交签名到 GitHub (GPG)
- mysql - 根据产品是否在用户的购物车中,在每个产品中显示适当的按钮