0
我想将我的数据库存储在应用程序文件夹中,就像我们保存图像一样,以便在卸载应用程序时它不会清除,这是可以做到的。将数据库保存在应用程序文件夹中,当卸载应用程序时不会清除
任何人都可以建议如何实现,否则给我备用选项
在此先感谢
我想将我的数据库存储在应用程序文件夹中,就像我们保存图像一样,以便在卸载应用程序时它不会清除,这是可以做到的。将数据库保存在应用程序文件夹中,当卸载应用程序时不会清除
任何人都可以建议如何实现,否则给我备用选项
在此先感谢
当您卸载应用程序的应用程序文件夹内总会被删除。你想要的是创建一个外部文件夹,在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()
代替
感谢您的答复特殊照顾,错误就可以删除数据库是SD卡的权利,所以需要一个差异的解决方案 – Madhu 2015-02-12 08:09:53
是的,没有适当的解决方案:) – Skynet 2015-02-12 08:11:00