【发布时间】:2011-11-10 09:09:20
【问题描述】:
我想在 SD 卡/媒体卡中打开或创建数据库。当我在设备(BlackBerry Curve 8900)中运行应用程序时,我只找到一个根,即“system/”并在模拟器(9500)中运行应用程序,我发现三个根,如代码中的注释所示。我遇到了错误;
_db = DatabaseFactory.openOrCreate(_uri);
(error: Method "toString" with signature "()Ljava/lang/String;" is not applicable on this object)
而且我无法理解这个错误是关于什么的。 这是代码。
public void getValues() throws Exception
{
boolean sdCardPresent = false;
String root = null;
Enumeration e = FileSystemRegistry.listRoots();
while (e.hasMoreElements())
{
root = (String)e.nextElement();
System.out.println("Value of root::" +root); // value of root = "system/" when run in device and
// value of root = "store/" "SDCard/" "system/" when run in simulator
if(root.equalsIgnoreCase("system/"))
{
sdCardPresent = true;
}
}
System.out.println("--------------------getValues()----------------------------------");
URI _uri = URI.create(Global.DB_PATH + Global.DB_Main);
System.out.println("Valud of uri::" +_uri);
_db = DatabaseFactory.openOrCreate(_uri); //getting error here.
System.out.println("Valud of _db::" +_db);
_db.close();
我尝试了这三个路径,使用“/store”(在模拟器中运行时)获取输出,但其余两个路径出错。即使在设备中使用“/store”也会显示相同的错误。
Global.DB_PATH = "/MediaCard/databases/";
Global.DB_PATH = "/SDCard/databases/";
Global.DB_PATH = "/store/databases/";
有什么方法可以让 SDCard/Media Card 成为 root 以便我可以在那里复制数据库?
【问题讨论】:
标签: blackberry