首页 > 解决方案 > 重命名 App Inventor 项目会清除 TinyDB 吗?

问题描述

我在 App Inventor 中有一个使用 TinyDB 的项目。在这个项目中,我添加了一个我无法删除且不想要的扩展。

为了解决这个问题,我制作了应用程序的副本,将副本下载为 aia,解压缩项目并修复问题,然后将其重新压缩。

然后我删除了 AI 上的副本,以便我可以上传更改后的版本。一切都按计划进行,现在我有一个有问题的应用程序和一个使用不同名称的固定项目。

我的问题是,如果我删除问题应用程序并以原始名称另存为副本,TinyDB 中的标签是否仍然存在,或者它们是否会位于我无法再访问的单独数据库中?

标签: storagerenameapp-inventor

解决方案


我用我制作的一个简单的应用程序测试了这个问题。以下是我遵循的步骤,如果您想得出结论,可以跳到底部:

方法:

  1. 创建项目
  2. 拖入一个列表视图组件、两个文本框、一个 tinyDB 和一个按钮。它不必看起来很漂亮,它必须是功能性的
  3. 转到块
  4. 添加下面的块

块代码

  1. 构建 apk 并将其安装在您的设备上。至少存储 1 个标签。
  2. 回到人工智能。在项目中,单击 Project>save as... 并将项目名称保留为默认值。
  3. 删除原来的
  4. 在副本中,单击 Projects>save as... 并将名称设置为您使用的原始名称。
  5. 构建 apk 并将其安装在设备上。不要卸载您安装的第一个应用程序。
  6. 确认您添加的条目仍在应用程序中。

结论:

对此进行测试时,我发现 tinyDB 中的数据会从其他版本的应用程序中保留下来。我认为这是因为项目名称相同,我使用相同的数字签名为应用程序签名,并且 tinyDB 命名空间相同。

因此,可以安全地更改应用程序的名称,然后再将其更改回来,而不会丢失用户设备上的数据。

进一步的步骤:

我还想在下载 aia、解压缩、然后将其重新压缩并上传时测试这是否有效。我认为这会产生相同的结果,但我还没有测试它。


推荐阅读