作为我正在开发的BlackBerry项目的一部分,我需要存储数据的能力。根据RIM的文档,在运行v5或更高版本操作系统的手持设备上,我们可以使用SQLite数据库与更典型的PersistenceStore方法。BlackBerry:使用USB电缆时“filesystem not ready”
我注意到当我的手机(手电筒2)通过USB电缆插入时 - 我可以通过调试器运行代码 - “SDCard /”和“存储/”不再可用(当拨打FileSystemRegistry.listRoots
时,这些都不再列举)。只有“system /”可用,但由于它是只读文件系统,所以这对我来说没有什么好处。
我需要一个读/写文件系统,即使手机连接到PC上也是可用的。
值得注意的是,当我插入手机时,我得到一个对话框,询问我希望如何连接:Sync Media,Mass storage device或Charge Only是3种选项。我选择哪一个并不重要......效果相同,因为只有“system /”可用于文件系统。
任何意见或帮助,不胜感激。
-------------------------------------- UPDATE ------- -------------------------------
我与RIM的开发人员技术支持人员就此问题进行了交谈,并简单通知了此问题是一个时尚。他们的建议是
“这是不是一个错误,这是该设备是如何打算的功能。你可以 听当设备通过USB和使用SystemListener2数据 无法连接的。”
因此,我们所能做的就是提醒用户将手机插入USB电缆,无论您在应用程序中可能需要什么功能(包括文件系统)暂时不可用。它可能是按照设计的功能,但我希望在某些时候他们会改进设计。
这对开发人员来说确实是一种痛苦。如果我的应用程序在后台线程上使用SDCard进行扫描(从网络写入一些数据到文件)会怎么样?我会通过听众通知SDCard刚刚变得不可用,从而获得任何好处吗?我不这么认为。这个结果取决于业务逻辑(有时候可以中断一个行动/任务),但是看起来我们总是期望发生这种情况,并准备好执行一些回滚。 –
像这样的小事情 - 糟糕的架构 - 通过用更新,更好的技术强制“不断前进”来帮助我们保持业务...希望RIM的新操作系统能更好地处理这种情况(Android在这个主题上做得很好) )。 – BonanzaDriver
如果您在谈论BBX(BB OS 7之后的操作系统),那么已经有RIM的官方通知说它不会支持Java。所以我认为我没有机会检查“RIM的新操作系统是否能更好地处理这种情况”。 –