以下问题已单独讨论,但我找不到有效的解决方案。因此发布完整的故事和问题列表。
我们正在构建一个供多个应用程序使用的 SDK(midlet jar)。此 SDK 使用持久存储来存储某些数据。现在有几个问题困扰着我们:
1. 访问商店的密钥已被硬编码在 SDK 中。现在多个应用程序尝试使用相同的键值访问商店,从而导致冲突的问题。
2. Persistable 对象包/类名在多个应用中是相同的。因此,我们在启动应用程序时收到“Class Multiply defined”错误。
现在对于 2,我们一直在考虑以下选项,但似乎都没有解决问题:
1. 不要扩展 Vector 等标准对象并使用标准对象。
问题:数据回收丢失导致冲突。
2. 为使用它的每个应用程序构建具有唯一名称的库。
问题:这意味着我们必须为每个想要使用它的客户发布不同的 SDK。
3.在为下一个应用加载包之前检查Persistable对象类是否已经存在。
问题:当第一个包未安装时会发生什么?类类型会被删除吗?
4. 让应用实现 Persistable 接口,并在回调中传递密钥。
仅仅因为我们无法使用持久存储就要求应用程序传递一些值听起来是不对的。
所以到目前为止,使用 Persistable 对象的 SDK 似乎完全被破坏了。还是我们错过了什么?
任何其他实现该任务的替代建议也非常受欢迎。