我正在製作一個在後臺運行的應用程序,並在設備啓動時啓動。 我已閱讀文檔,並從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