android - 删除 android SQLite数据库文件

  显示原文与译文双语对照的内容

我在用手机调试我的安卓应用程序。 在 Eclipse 中有一个文件资源管理器,如果我想的话,我可以浏览并删除一些文件。 我的应用程序文件数据库位于"/data"下( 默认情况下),但使用 Eclipse 资源管理器的文件我无法访问这里文件夹。

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

是否有访问这里文件夹的方法?

谢谢!

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

时间: 作者:

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

你可能没有对文件夹的读和写权限

是否有访问这里文件夹的方法?

是,你需要使用 root 访问并使用 read write重新挂载文件夹。

作者:

尝试这个:


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块within调用这里文件时,将检查该异常,这将使你开始。 干杯 !

作者:

你需要 root 访问。通常,你的设备必须在你可以执行之前。

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

因为你的手机没有以 Eclipse/ddms为根,所以你没有权限查看该文件夹。 从安全的角度来看,这是非常正确的,否则你可以 edit/delete/compromise的任何数据,而不仅仅是你自己的。

...