如何在Blackberry模拟器中使用sqlite数据库?
嗨,我是黑莓开发的新手 我正在尝试创建一个小的sqlite演示应用程序。为此,我正在编写以下代码:如何在Blackberry模拟器中使用sqlite数据库?,blackberry,blackberry-simulator,sqlite,Blackberry,Blackberry Simulator,Sqlite,嗨,我是黑莓开发的新手 我正在尝试创建一个小的sqlite演示应用程序。为此,我正在编写以下代码: 试试看 { URI myURI=URI.create(“file:///SDCard/Databases/myDb.db"); d=DatabaseFactory.openOrCreate(myURI); d、 close(); 添加(新RichTextField(“成功创建DB”); } 捕获(例外e) { System.out.println(e.getMessage())
试试看
{
URI myURI=URI.create(“file:///SDCard/Databases/myDb.db");
d=DatabaseFactory.openOrCreate(myURI);
d、 close();
添加(新RichTextField(“成功创建DB”);
}
捕获(例外e)
{
System.out.println(e.getMessage());
e、 printStackTrace();
添加(新的RichTextField(“错误:+e.toString()));
}
当我运行这个程序时,会遇到这样的异常
net.rim.device.api.database.DatabasePathException:路径名无效。路径不包含正确的根列表。有关详细信息,请参阅FileSystemRegistry类
我已在模拟器中设置SD卡:模拟-->更改SD卡-->添加目录(E:\mediacard)设置SD卡后,从模拟器的文件浏览器中找到SD卡,检查其安装是否正确 要了解使用SQLite数据库时的最佳实践,请查看中提供的SQLite示例应用程序。如果您使用的是用于Eclipse的BlackBerry插件,那么您可以导入SQLiteDemo应用程序并检查代码。以下代码行来自SQLiteDemo类的构造函数
//确定SD卡是否存在
布尔sdCardPresent=false;
字符串根=null;
枚举e=FileSystemRegistry.listRoots();
而(e.hasMoreElements()){
root=(字符串)e.nextElement();
if(root.equalsIgnoreCase(“sdcard/”){
sdCardPresent=真;
}
}
如果(!sdCardPresent){
//无法创建任何数据库
}
否则{
//创建数据库
}