nim*_*imi 4 blackberry blackberry-simulator
我的应用程序从服务器获取数据并将其保存到SQLite数据库.这在9550(黑莓Storm 2)模拟器中工作正常,但是当我在任何其他模拟器中运行它时它会给我这个错误:
文件系统没准备好
代码段:
URI myURI = URI.create("file:///store/MyDataBase.db");
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
Mic*_*hue 23
理查德是对的.您需要检查文件系统根"store"的存在.但是,使用SQLite还有一个额外的皱纹.RIM仅支持eMMC存储上的SQLite .因此,即使存在"存储",它也只有在底层存储是eMMC时才有效.值得注意的是,BlackBerry Bold 9650设备AKA Bold2具有"存储"功能,但它不是eMMC,因此您无法在其中放置SQLite数据库.
我不知道有任何直接的方法来确定文件系统是否正在使用eMMC.我问过RIM并被告知要检查文件系统的大小.如果它超过1 GB,则它是eMMC.这对我来说不是一个非常令人满意的答案.我最终检查了文件系统"system".它是一个只读文件系统,但只存在于eMMC存储中,如果存在,则可以将数据库写入"store"文件系统根目录.
您可以使用
net.rim.device.api.database程序包中提供的SQLite API 将应用程序数据持久存储到eMMC内存或microSD卡.
可能是存储不是9550上已挂载且可用的文件系统根目录.您应该使用javax.microedition.io.file.FileSystemRegistry.listRoots()来获取当前挂载的文件系统的枚举.
| 归档时间: |
|
| 查看次数: |
3297 次 |
| 最近记录: |