Я хочу открыть или создать базу данных в SDcard / Media Card.Когда я запускаю приложение на устройстве (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, чтобы я мог скопировать туда базу данных?