Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我已经向 Google Play 商店发布了一个应用程序。现在我已经准备好更新,应用程序使用了一些序列化的对象,并且更新对它们进行了一些更改,因此需要在更新之前进行卸载。
我如何强制用户先卸载应用程序,或者我必须以某种方式在代码中解决这个问题?
我认为你应该在代码中解决这个问题。如果需要/可能,找出一种识别旧数据并将其转换/升级为新结构的方法。即使保留旧对象 defs 以供读取,然后将它们在内存中转换为新结构也应该有效。
一种选择是编写某种“模式版本”首选项,至少可以告诉您数据是在什么情况下写入的(缺少该首选项意味着它是版本 1)。至少下次会更容易。
顺便说一句,我建议这样做而不是删除文件的原因是重复删除文件的风险。您需要某种方法来检测那里的文件是旧的(可忽略的、可删除的或用于升级的)还是新的并且应该保留。