我正在手机上调试我的Android应用程序。 Eclipse中有一个文件资源管理器,如果需要,我可以在其中导航和删除一些文件。我的应用程序的数据库文件位于“/ data”下(默认情况下),但使用Eclipse的文件资源管理器,我无权访问此文件夹。
所以我的问题是'为什么我没有访问权限'?
和
有没有办法访问这个文件夹?
谢谢!
...
我删除数据库文件的方式是:
context.deleteDatabase(DATABASE_NAME);
答案 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无权查看该文件夹。从安全角度来看,这是非常正确的,否则您可以编辑/删除/破坏任何应用程序的数据,而不仅仅是您自己的数据。