您好,我是黑莓开发的新手。
我正在尝试创建一个sqlite的小型演示应用程序。因为我正在编写以下代码:
try
{
URI myURI = URI.create("file:///SDCard/Databases/myDb.db");
d = DatabaseFactory.openOrCreate(myURI);
d.close();
add(new RichTextField("DB created successfully"));
}
catch ( Exception e )
{
System.out.println( e.getMessage() );
e.printStackTrace();
add(new RichTextField("Error: "+e.toString()));
}
当我运行这个时,我得到一个像这样的例外
net.rim.device.api.database.DatabasePathException:路径名无效。路径不包含正确的根列表。有关详细信息,请参阅FileSystemRegistry类。
我已经在模拟器中设置了Sdcard:模拟 - >更改sdcard - >添加目录(E:\ mediacard)
答案 0 :(得分:3)
设置SD卡后,从Simulator的文件浏览器中找到SD卡,检查它是否安装正确。
要了解使用SQLite数据库时的最佳做法,请查看http://docs.blackberry.com中提供的SQLite示例应用程序。如果您使用的是BlackBerry Plugins For Eclipse,则可以导入SQLiteDemo应用程序并检查代码。以下代码行来自SQLiteDemo类的构造函数。
// Determine if an SDCard is present
boolean sdCardPresent = false;
String root = null;
Enumeration e = FileSystemRegistry.listRoots();
while (e.hasMoreElements()) {
root = (String)e.nextElement();
if(root.equalsIgnoreCase("sdcard/")) {
sdCardPresent = true;
}
}
if(!sdCardPresent) {
// no database can't be created
}
else {
// create database
}