2015-04-16 3 views
0

У меня есть база данных, и я хочу ее создать и восстановить. Я использую этот код, чтобы создать резервную копию базы данных: моегоРезервная копия базы данных и сохранение в определенной папке android

// Method To Backup Database// 
public void OnClick_Backup(View v) { 

    // Vibrates For 50 Mill// 
    vibe.vibrate(50); 

    try { 
     File sd = Environment.getExternalStorageDirectory(); 
     File data = Environment.getDataDirectory(); 

     if (sd.canWrite()) { 
      String currentDBPath = "//data//jordanzimmittidevelopers.com.communityservicelogger//databases//community_service_Database"; 
      String backupDBPath = "Community Service Database"; 
      File currentDB = new File(data, currentDBPath); 
      File backupDB = new File(sd, backupDBPath); 

      if (currentDB.exists()) { 
       FileChannel src = new FileInputStream(currentDB).getChannel(); 
       FileChannel dst = new FileOutputStream(backupDB).getChannel(); 
       dst.transferFrom(src, 0, src.size()); 
       src.close(); 
       dst.close(); 
       Toast.makeText(getApplicationContext(), "Backup is successful to SD card", Toast.LENGTH_SHORT).show(); 
      } 
     } 
    } catch (Exception ignored) { 
    } 
} 

Он поддерживает штраф базы данных, но сохраняет его в корень внутренней SD карты. Как я могу заставить его сохранить базу данных в новую папку, созданную aoo на внутренней SD-карте. Благодаря

ответ

1

Использование ниже кода,

File sd = new File(Environment.getExternalStorageDirectory()+"/newFolder"); 
if(!sd.exists()){ 
sd.mkdirs() 
} 

Кодекс создать новую папку, если не существует. Затем после копии базы данных.

+0

Спасибо, этот работает –

Смежные вопросы