2012-06-22 99 views
4

我在我的應用程序中有一個SQLite數據庫。當我去檢查數據庫是否在File Explorer中創建時,data文件夾中沒有任何數據庫文件。它甚至沒有使用adb shell命令顯示。這是否意味着數據庫尚未創建?有關如何解決這個問題的任何建議?SQLite數據庫沒有顯示在文件資源管理器中

+1

如果您在設備上測試,則無法看到數據庫。如果它是一個仿真器,那麼可能是數據庫沒有創建。 – Anu

回答

6

如果您使用的是實際設備,除非您爲您的電話設置根音,否則您將無法從外部查看或訪問該設備。

如果您正在使用模擬器,DDMS視圖將讓您導航到它並從那裏拉動它。

或者,您可能在創建數據庫時遇到問題。沒有看到你的代碼,我們不知道。

編輯

如果你想要得到的文件過一個真正的設備,你需要實現的方法將它從數據目錄複製到你有機會(比如你的某個地方SD卡)。這將做伎倆:

public void backup() { 
    try { 
     File sdcard = Environment.getExternalStorageDirectory(); 
     File outputFile = new File(sdcard, 
       "YourDB.bak"); 

     if (!outputFile.exists()) 
      outputFile.createNewFile(); 

     File data = Environment.getDataDirectory(); 
     File inputFile = new File(data, "data/your.package.name/databases/yourDB"); 
     InputStream input = new FileInputStream(inputFile); 
     OutputStream output = new FileOutputStream(outputFile); 
     byte[] buffer = new byte[1024]; 
     int length; 
     while ((length = input.read(buffer)) > 0) { 
      output.write(buffer, 0, length); 
     } 
     output.flush(); 
     output.close(); 
     input.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
     throw new Error("Copying Failed"); 
    } 
} 
+0

是的,我正在使用真正的設備是否有辦法看到數據庫和表? – sandee

+0

+1以獲得完美的解釋。 –

相關問題