Exportação e Importação de Banco de dados Sqlite

3 respostas
Welder_Mascarado

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.

3 Respostas

marcus.dev

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
}
Welder_Mascarado

Boa tarde Marcus e muito obrigado! E quanto a importação do banco pelo aplicativo, voce teria alguma solução?

marcus.dev

Cara, importação de banco não fiz. Essa ficarei te devendo!

Criado 25 de julho de 2017
Ultima resposta 27 de jul. de 2017
Respostas 3
Participantes 2