2014-09-24 3 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

+0

실제 물리적 장치에서 DB를 가져 오려고하면 불가능합니다. 대신 당신의 SD 카드에 DB를 수출해야합니다 ... –

+0

당신은 또한 컴퓨터로 내보낼 수 있습니다 –

답변

0

, 당신은 당신의 sdcard에 응용 프로그램 데이터베이스를 내보내려면이 코드를 사용할 수 있습니다 :

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 
} 
관련 문제