我正在制作一个在后台运行的应用程序,并在设备启动时启动。 我已阅读文档,并从RIM获得SQLiteDemo文件,我正在使用它们尝试在模拟器中的SD卡上创建数据库。Blackberry - 无法创建SQLite数据库
不幸的是,我得到这个错误: DatabasePathException:Invalid path name. Path does not contains a proper root list. See FileSystemRegistry class for details.
这里是我的代码:
public static Database storeDB;
public static final String DATABASE_NAME = "testDB";
private String DATABASE_LOCATION = "file:///SDCard/Databases/MyDBFolder/";
public static URI dbURI;
dbURI = URI.create(DATABASE_LOCATION+DATABASE_NAME);
storeDB = DatabaseFactory.openOrCreate(dbURI);
我拿出try/catch
为URI.create
和DatabaseFactory.openOrCreate
这个职位的目的。
那么,谁能告诉我为什么我不能在我的模拟器上创建数据库?
如果我加载它并进入媒体,我可以手动创建一个文件夹。 SD卡指向我硬盘上的一个文件夹,如果我在那里创建一个文件夹,它也会显示在模拟器上,所以我可以创建文件夹,而不是以编程方式。
另外,我还从开发者文档尝试这样做:
// Determine if an SDCard is present
boolean sdCardPresent = false;
String root = null;
Enumeration enum = FileSystemRegistry.listRoots();
while (enum.hasMoreElements())
{
root = (String)enum.nextElement();
System.err.println("root="+root);
if(root.equalsIgnoreCase("sdcard/"))
{
sdCardPresent = true;
}
}
但它只能拿起store/
永不sdcard/
。 任何人都可以帮忙吗? 谢谢。
它发生在我身上,在模拟器上运行我的程序时,它找不到SD卡,但如果现在不关闭模拟器再次运行它,它会发现它和运行好。 – Cesar 2011-06-14 12:00:44