0

我已经向 Google Play 商店发布了一个应用程序。现在我已经准备好更新,应用程序使用了一些序列化的对象,并且更新对它们进行了一些更改,因此需要在更新之前进行卸载。

我如何强制用户先卸载应用程序,或者我必须以某种方式在代码中解决这个问题?

4

1 回答 1

1

我认为你应该在代码中解决这个问题。如果需要/可能,找出一种识别旧数据并将其转换/升级为新结构的方法。即使保留旧对象 defs 以供读取,然后将它们在内存中转换为新结构也应该有效。

一种选择是编写某种“模式版本”首选项,至少可以告诉您数据是在什么情况下写入的(缺少该首选项意味着它是版本 1)。至少下次会更容易。

顺便说一句,我建议这样做而不是删除文件的原因是重复删除文件的风险。您需要某种方法来检测那里的文件是旧的(可忽​​略的、可删除的或用于升级的)还是新的并且应该保留。

于 2012-11-27T01:35:56.807 回答