android 备份数据库文件,如何将数据库文件备份到Android上的SD卡?

如果您是新手,可以在数据库适配器中找到数据库名称。

请注意,您也可以对SharedPreferences执行此操作,但请记住将Context.MODE_PRIVATE更改为Context.MODE_MULTI_PROCESS。

SharedPreferences_name应该如下所示=ExportSP("temp.xml");

String currentPathForSharedPreferences = "/data/"+ context.getPackageName() +"/shared_prefs/"+ SharedPreferences_name;

出口

exportDB("MyDbName");

private void exportDB(String db_name){

File sd = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) +

File.separator + "Your Backup Folder"+

File.separator );

boolean success = true;

if (!sd.exists()) {

success = sd.mkdir();

}

if (success) {

File data = Environment.getDataDirectory();

FileChannel source=null;

FileChannel destination=null;

String currentDBPath = "/data/"+ context.getPackageName() +"/databases/"+db_name;

String backupDBPath = db_name;

File currentDB = new File(data, currentDBPath);

File backupDB = new File(sd, backupDBPath);

try {

source = new FileInputStream(currentDB).getChannel();

destination = new FileOutputStream(backupDB).getChannel();

destination.transferFrom(source, 0, source.size());

source.close();

destination.close();

Toast.makeText(this, "Please wait", Toast.LENGTH_SHORT).show();

} catch(IOException e) {

e.printStackTrace();

}

}}

进口

importDB("MyDbName");

private void importDB(String db_name){

File sd = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) +

File.separator + "Your Backup Folder"+

File.separator );

File data = Environment.getDataDirectory();

FileChannel source=null;

FileChannel destination=null;

String backupDBPath = "/data/"+ context.getPackageName() +"/databases/"+db_name;

String currentDBPath = db_name;

File currentDB = new File(sd, currentDBPath);

File backupDB = new File(data, backupDBPath);

try {

source = new FileInputStream(currentDB).getChannel();

destination = new FileOutputStream(backupDB).getChannel();

destination.transferFrom(source, 0, source.size());

source.close();

destination.close();

Toast.makeText(this, "Please wait", Toast.LENGTH_SHORT).show();

} catch(IOException e) {

e.printStackTrace();

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值