如何存储卸载后剩余的数据

Posted

技术标签:

【中文标题】如何存储卸载后剩余的数据【英文标题】:How to store data that remains after uninstall 【发布时间】:2011-04-30 16:39:40 【问题描述】:

我想存储一些数据,这些数据在应用程序卸载后仍应保留,并且可以通过该应用程序的新版本访问。 共享首选项/文件不是解决方案,因为它们在卸载程序时会被删除,写入内部存储器也不是解决方案(卸载时也会删除)。 写入外部公用文件夹我看到它没有被删除,但这需要一个外部 SD 卡并且不想受此限制。 我不知道使用 SQLite 数据库,它是如何工作的?这可能是我想要的解决方案? 或任何其他解决方案将不胜感激。

【问题讨论】:

你会给用户不存储这些数据的选项吗?也许他们打算永久卸载。 因为实际上是想为应用程序实现试用模式:) 不使用任何网络服务器、互联网连接等......只是本地 您不应该对用户的设备执行此操作,因此 SD 卡是唯一的选择 - 在很大程度上,用户可以使用其他应用程序来删除您希望删除的内容留下。 这能回答你的问题吗? android Persist Data After Uninstall 【参考方案1】:

听起来像you got this right。写入 SD 卡是唯一真正持久的数据存储方式。

编辑: Data Backup 也可能有其用途,但不要相信我的话;)。

【讨论】:

谢谢,检查了数据备份,但它没有帮助,因为它的目的是其他的。【参考方案2】:

您的应用程序创建的数据库将存储在/data/data/your.package.name/databases/ 中,并在卸载应用程序时被删除。

所以,这不是解决方案。我认为唯一的方法是使用 SD 卡。

【讨论】:

【参考方案3】:

使用 SharedPreference 或使用 SQLitedatabase 1)创建临时表(与原始表具有相同的结构)并将数据从原始表复制到这个新表中 2)删除原始表 3)创建新的原始表(即具有更多列,具有其他列名等) )4) 将临时表中的数据复制回新的原始表 5) 删除临时表

【讨论】:

这对问题提出的问题没有任何帮助。回顾一下比你早一年发布的答案,你会清楚地知道这个目标并不能真正实现。

以上是关于如何存储卸载后剩余的数据的主要内容,如果未能解决你的问题,请参考以下文章

如何正确删除mathtype?

怎么把cad卸载删除干净

Inno Setup 中如何设置卸载文件的位置

我的电脑上软件装不上也卸载不掉,说是程序错误磁盘损坏.到底怎么回事呢?

office安装进度0

如何卸载 NSBundle?