开发者

Blackberry - Cannot create SQLite database

I am making an app that runs in the background, and starts on device boot. I have read the docs, and have the SQLiteDemo files from RIM, and I am using them to try create a database on my SD Card in the simulator.

Unfortunately, I am getting this error: DatabasePathException:Invalid path name. Path does not contains a proper root list. See FileSystemRegistry class for details.

Here's my code:

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);

I took out a try/catch for URI.create and DatabaseFactory.openOrCreate for the purposes of this post.

So, can anyone tell me why I can't create a database on my simulator?

If I load it up and go into media, I can create a folder manually. The SD card is pointing to a folder on my hard drive, and if I create a folder in there, it is shown on the simulator too, so I can create folders, just not programatically.

Also, I have tried this from the developer docs:

// 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;
    }     
}

But it only picks up store/ and never sdcard/. C开发者_JS百科an anyone help? Thanks.


FYI, I think I resolved this.

The problem was I was trying to write to storage during boot-up, but the storage wasn't ready. Once the device/simulator was loaded, and a few of my listeners were triggered, the DB was created.

See here: http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/800332/832062/How_To_-_Write_safe_initialization_code.html?nodeid=1487426&vernum=0

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜