2015-02-12 102 views

回答

1

当您卸载应用程序的应用程序文件夹内总会被删除。你想要的是创建一个外部文件夹,在SD卡上,当你删除你的应用程序时,这不会去。

例子:

public void writeToSDCard() throws IOException { 


     System.out.println("Write To Sd"); 
     File f=new File("/data/data/com.yourapp/databases/Bdr"); 
     FileInputStream fis=null; 
     FileOutputStream fos=null; 

     try{ 
      fis=new FileInputStream(f); 


      fos=new FileOutputStream("/mnt/sdcard/dumped.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); 
      } 
     } 
    } 

上面的代码将您的数据库写入外部SD卡的名称等于dumped.db并在卸载这一点,你会发现将你的SD卡

不要忘记仍然存在根据您的使用情况编辑File f=new File("/data/data/com.yourapp/databases/Bdr");

还拿你不硬编码的路径,SD卡使用Enviornmant.getExternalStorage()代替

+0

感谢您的答复特殊照顾,错误就可以删除数据库是SD卡的权利,所以需要一个差异的解决方案 – Madhu 2015-02-12 08:09:53

+0

是的,没有适当的解决方案:) – Skynet 2015-02-12 08:11:00

相关问题