2014-01-15 148 views
1

嗯,我在手機上調試我的android應用程序。 Eclipse中有一個文件資源管理器,我可以根據需要導航和刪除一些文件。我的應用程序的數據庫文件位於「/ data」下(默認情況下),但使用Eclipse的文件資源管理器,我無法訪問此文件夾。刪除android sqlite數據庫文件

所以我的問題是'爲什麼我沒有訪問'?

是否有訪問這個文件夾的方法嗎?

謝謝!

...

我刪除我的數據庫文件的方法是: context.deleteDatabase(DATABASE_NAME);

回答

0

所以我的問題是:「爲什麼我不能訪問」?

你可能不具有讀取和寫入權限的文件夾

是否有訪問這個文件夾的方法嗎?

是的。您需要擁有根訪問權限並使用讀寫權限重新安裝該文件夾。

0

你需要root訪問權限。通常你的設備必須先植根,然後才能做到這一點。

瞭解更多有關生根: http://www.androidcentral.com/root

+0

如果他知道包,他可以將文件寫入SD。沒有根需要。 – Skynet

0

由於您的手機沒有固定,因此Eclipse/DDMS沒有權限查看該文件夾。從安全角度來看,這是非常正確的,否則您可以編輯/刪除/妥協任何應用程序的數據,而不僅僅是您自己的數據。當你從一個try catch塊中調用該文件,這將讓你開始

private void writeToSD() throws IOException { 
     File f=new File("/data/data/yourPackageName/databases/DatabaseName"); 
     FileInputStream fis=null; 
     FileOutputStream fos=null; 

     try{ 
      fis=new FileInputStream(f); 


      fos=new FileOutputStream("/mnt/sdcard/dump.db"); 
      while(true){ 
       int i=fis.read(); 
       if(i!=-1){ 
        fos.write(i); 
       } 
       else{ 
        break; 
       } 
      } 
      fos.flush(); 

     } 
     catch(Exception e){ 
      e.printStackTrace(); 

     } 
     finally{ 
      try{ 
       fos.close(); 
       fis.close(); 
      } 
      catch(IOException ioe){ 
       System.out.println(ioe); 
      } 
     } 
    } 

檢查異常:

1

試試這個。乾杯!!