我想在SDcard/Media Card中打開或創建數據庫。當我在設備(BlackBerry Curve 8900)中運行應用程序時,我發現只有一個根,即「system /」,並在模擬器(9500)中運行應用程序,我找到三個根源,如代碼註釋中所示。我在錯誤處;Blackberry:無法將位置SDCard/Media Card作爲fileSystemRoot獲取?
_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();
我嘗試了這些三個路徑,獲得輸出用「/存儲」時(當在模擬器中運行),但錯誤在設備使用「/存儲」剩餘的兩個paths.Even是顯示同樣的錯誤。
Global.DB_PATH = "/MediaCard/databases/";
Global.DB_PATH = "/SDCard/databases/";
Global.DB_PATH = "/store/databases/";
有什麼辦法如何以root身份獲取SDCard /媒體卡,以便我可以在那裏複製數據庫?
是的,先生,你的猜測是正確的,根據你的建議我拔掉了電纜,並獲得了SD卡的位置。我現在可以用SDCard創建數據庫了。非常感謝。 –
這工作,但現在我無法調試:(。 –
這只是黑莓.. :(考慮創建一些記錄器,將日誌條目寫入文件,您可以稍後從設備下拉到PC調查 –