如何在Blackberry模拟器中使用sqlite数据库?

时间:2013-05-17 09:25:20

标签: blackberry blackberry-simulator sqlite

您好,我是黑莓开发的新手。

我正在尝试创建一个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)

1 个答案:

答案 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
}