2014-09-24 71 views
0

我無法查看或拉我的應用程序在我的設備上創建的SQLite數據庫文件。無法查看或從設備拉SQLite數據庫

這裏是我試圖把它用ADB

E:\>adb pull /data/data/com.example.testinglist/databases/timetracker.db failed to copy '/data/data/com.example.testinglist/databases/timetracker.db' to './timetracker.db': **Permission denied**

正如你可以看到有一個權限被拒絕的錯誤。

我無法在Eclipse ADT中使用FileExplorer查看或複製文件。只能將文件夾數據複製爲無法在FileExplorer中的文件夾中移動。和使用FileExplorer複製到計算機的文件夾數據爲空。請任何解決方案?? enter image description here

+1

設備必須植根看到裏面'data'文件夾。 – SilentKiller 2014-09-24 11:10:03

+0

如果您嘗試從真實的物理設備上拉DB,那麼這是不可能的。而不是你應該出口數據庫在你的SD卡... – 2014-09-24 11:10:11

+0

你也可以出口到你的機器 – 2014-09-24 11:11:49

回答

0

如果您設備的根源並非是,您可以使用此代碼應用程序數據庫導出到你的SD卡:

try { 
    File dstDb = new File(dstPathOnSdcard, dstFileName); 
    FileOutputStream output = new FileOutputStream(dstDb); 

    File srcDb = new File(Environment.getDataDirectory(), "//data//com.mynamespace.myapp//databases//mydatabasename.db"); 
    FileInputStream input = new FileInputStream(srcDb); 

    FileChannel src = input.getChannel(); 
    WritableByteChannel dst = Channels.newChannel(output); 

    src.transferTo(0, src.size(), dst); 

    src.close(); 
    input.close(); 
    dst.close(); 
    output.close(); 
} 
catch (Exception e) { 
    // doSomething 
}