删除android sqlite数据库文件

时间:2014-01-15 15:27:37

标签: android eclipse sqlite

我正在手机上调试我的Android应用程序。 Eclipse中有一个文件资源管理器,如果需要,我可以在其中导航和删除一些文件。我的应用程序的数据库文件位于“/ data”下(默认情况下),但使用Eclipse的文件资源管理器,我无权访问此文件夹。

所以我的问题是'为什么我没有访问权限'?

有没有办法访问这个文件夹?

谢谢!

...

我删除数据库文件的方式是: context.deleteDatabase(DATABASE_NAME);

4 个答案:

答案 0 :(得分:1)

试试这个:

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);
            }
        }
    } 

从try catch块中调用此文件时检查异常,这将使您开始。干杯!!

答案 1 :(得分:0)

您需要root访问权限。通常情况下,您的设备必须先植根。

了解有关生根的更多信息: http://www.androidcentral.com/root

答案 2 :(得分:0)

  

所以我的问题是'为什么我没有访问权限'?

您可能没有文件夹的读写权限

  

有没有办法访问这个文件夹?

是。您需要具有root访问权限并使用读写权限重新安装该文件夹。

答案 3 :(得分:0)

因为您的手机没有root权限,因此Eclipse / DDMS无权查看该文件夹。从安全角度来看,这是非常正确的,否则您可以编辑/删除/破坏任何应用程序的数据,而不仅仅是您自己的数据。