Estou desenvolvendo um app Android em que preciso exportar meu banco de dados para o smartphone, logo em seguida localizar o arquivo no próprio smartphone para realizar a transferência para outro smartphone. Em seguida, desejo importar este banco de dados para o aplicativo. Alguém pode me ajudar com exemplos em código, pois já pesquisei e não consegui algo realmente simples e funcional.
Boa tarde Welder,
Não cheguei a transferir o arquivo de banco para outro dispositivo dessa maneira, mas para exportar o arquivo do banco o primeiro passo é esse:
private void exportarBanco(Context ctx) {
File backupDB = null;
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite()) {
String currentDBPath = "//data//" + ctx.getPackageName()
+ "//databases//" + "nomeDoBanco.db" + "";
File currentDB = new File(data, currentDBPath);
backupDB = new File(sd, "nomeDoBanco.db");
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();
}
}else{
//Tratamento
}
} catch (Exception e) {
//Tratamento de exception
}
//Faz alguma coisa com o arquivo backupDB
}
Boa tarde Marcus e muito obrigado! E quanto a importação do banco pelo aplicativo, voce teria alguma solução?
Cara, importação de banco não fiz. Essa ficarei te devendo!