Escolha uma Página

Exportar SQLite

Escrito por Alisson

agosto 17, 2023

Para exportar o banco de dados SQLite será necessário criar uma classe útil com um método estático pra fazer a exportação para um arquivo slq.

class DbUtil {
    companion object {
        @Throws(IOException::class)
        fun exportDb(destinationFolder: File, context: Context) {
            if(destinationFolder.isFile){
                throw IOException("The 'destinationFolder' must be a folder not a file")
            }
            val dataDirectory = Environment.getDataDirectory()

            val currentDBPath = "/data/" + context.applicationInfo.packageName + "/databases/${DBController.DATABASE_NAME}"
            val backupDBPath = "${DBController.DATABASE_NAME}.sqlite"
            val currentDB = File(dataDirectory, currentDBPath)
            val backupDB = File(destinationFolder, backupDBPath)

            FileInputStream(currentDB).channel.use { source ->
                FileOutputStream(backupDB).channel.use { destination ->
                    destination.transferFrom(source, 0, source.size())
                }
            }
        }
    }
}
Para exportar o banco de dados é somente utilizar conforme o exemplo abaixo.

Environment.getExternalStorageDirectory()
DbUtil.exportDb(folder, this)

Você pode gostar…

0 comentários

Enviar um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *