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