Cara Backup Dan Restore Database SQLite Di Android

Diposting oleh Chandra pada Android & Db

Dalam pengembangan aplikasi Android, penggunaan database SQLite adalah salah satu cara efektif untuk menyimpan data aplikasi. Namun, penting juga untuk memastikan bahwa data tersebut aman dan dapat diakses kembali jika terjadi kesalahan atau kerusakan pada aplikasi. Oleh karena itu, dalam artikel ini kita akan membahas tentang cara backup dan restore database SQLite di Android.

Mengapa Backup dan Restore Database SQLite Penting?

Sebelum kita membahas tentang cara backup dan restore database SQLite, mari kita bahas terlebih dahulu mengapa hal ini penting. Berikut beberapa alasan mengapa backup dan restore database SQLite penting:

  1. Menghindari Kerugian Data: Jika aplikasi Anda mengalami kesalahan atau kerusakan, maka data yang disimpan dalam database SQLite dapat hilang atau rusak. Dengan melakukan backup secara teratur, Anda dapat memastikan bahwa data tersebut aman dan dapat diakses kembali.
  2. Menghemat Waktu: Jika data hilang atau rusak, Anda mungkin perlu memulai dari awal untuk memasukkan kembali data tersebut. Dengan melakukan backup dan restore, Anda dapat menghemat waktu dan energi yang dibutuhkan untuk memulai dari awal.
  3. Meningkatkan Keamanan: Dalam beberapa kasus, data yang disimpan dalam database SQLite mungkin sensitif dan penting. Dengan melakukan backup dan restore, Anda dapat memastikan bahwa data tersebut aman dan tidak dapat diakses oleh pihak yang tidak berwenang.

Cara Backup Database SQLite di Android

Berikut adalah cara backup database SQLite di Android:

Cara Backup dan Restore Database SQLite di Android

  1. Membuat Folder Backup: Pertama, Anda perlu membuat folder untuk menyimpan file backup. Anda dapat membuat folder di dalam direktori internal aplikasi atau di dalam direktori eksternal.
  2. Menggunakan Kode Java: Untuk melakukan backup, Anda dapat menggunakan kode Java berikut:

    private void backupDatabase() Cara Backup dan Restore Database SQLite di Android
    try 
        // Membuat folder backup
        File dir = new File(Environment.getExternalStorageDirectory() + "/backup");
        if (!dir.exists()) 
            dir.mkdirs();Cara Backup dan Restore Database SQLite di Android
        
    
        // Membuat file backup
        File file = new File(dir, "database_backup.db");
        if (file.exists()) 
            file.delete();
        
    
        // Membuat stream untuk menulis file backup
        FileOutputStream fos = new FileOutputStream(file);
        BufferedOutputStream bos = new BufferedOutputStream(fos);
    
        // Membuka database
        SQLiteDatabase db = getWritableDatabase();
        db.close();
    
        // Membuat stream untuk membaca database
        FileInputStream fis = new FileInputStream(getDatabasePath(DATABASE_NAME));
        BufferedInputStream bis = new BufferedInputStream(fis);
    
        // Menulis file backup
        byte[] buffer = new byte[1024];
        int bytesRead;
        while ((bytesRead = bis.read(buffer)) != -1) 
            bos.write(buffer, 0, bytesRead);
        
    
        // Menutup stream
        bos.close();
        bis.close();
        fos.close();
        fis.close();
    
        Toast.makeText(this, "Backup berhasil", Toast.LENGTH_SHORT).show();
     catch (Exception e) 
        Toast.makeText(this, "Gagal backup", Toast.LENGTH_SHORT).show();
    
    
  3. Menggunakan Kode Kotlin: Jika Anda menggunakan Kotlin, Anda dapat menggunakan kode berikut:

    private fun backupDatabase() 
    try 
        // Membuat folder backup
        val dir = File(Environment.getExternalStorageDirectory().toString() + "/backup")
        if (!dir.exists()) 
            dir.mkdirs()
        
    
        // Membuat file backup
        val file = File(dir, "database_backup.db")
        if (file.exists()) 
            file.delete()
        
    
        // Membuat stream untuk menulis file backup
        val fos = FileOutputStream(file)
        val bos = BufferedOutputStream(fos)
    
        // Membuka database
        val db = writableDatabase
        db.close()
    
        // Membuat stream untuk membaca database
        val fis = FileInputStream(databasePath)
        val bis = BufferedInputStream(fis)
    
        // Menulis file backup
        val buffer = ByteArray(1024)
        var bytesRead: Int
        while (bis.read(buffer).also  bytesRead = it  != -1) 
            bos.write(buffer, 0, bytesRead)
        
    
        // Menutup stream
        bos.close()
        bis.close()
        fos.close()
        fis.close()
    
        Toast.makeText(this, "Backup berhasil", Toast.LENGTH_SHORT).show()
     catch (e: Exception) 
        Toast.makeText(this, "Gagal backup", Toast.LENGTH_SHORT).show()
    
    

    Cara Restore Database SQLite di Android

Berikut adalah cara restore database SQLite di Android:

  1. Membuka File Backup: Pertama, Anda perlu membuka file backup yang telah dibuat sebelumnya.
  2. Menggunakan Kode Java: Untuk melakukan restore, Anda dapat menggunakan kode Java berikut:

    private void restoreDatabase() 
    try 
        // Membuka file backup
        File file = new File(Environment.getExternalStorageDirectory() + "/backup/database_backup.db");
    
        // Membuat stream untuk membaca file backup
        FileInputStream fis = new FileInputStream(file);
        BufferedInputStream bis = new BufferedInputStream(fis);
    
        // Membuka database
        SQLiteDatabase db = getWritableDatabase();
        db.close();
    
        // Membuat stream untuk menulis database
        FileOutputStream fos = new FileOutputStream(getDatabasePath(DATABASE_NAME));
        BufferedOutputStream bos = new BufferedOutputStream(fos);
    
        // Menulis database
        byte[] buffer = new byte[1024];
        int bytesRead;
        while ((bytesRead = bis.read(buffer)) != -1) 
            bos.write(buffer, 0, bytesRead);
        
    
        // Menutup stream
        bos.close();
        bis.close();
        fos.close();
        fis.close();
    
        Toast.makeText(this, "Restore berhasil", Toast.LENGTH_SHORT).show();
     catch (Exception e) 
        Toast.makeText(this, "Gagal restore", Toast.LENGTH_SHORT).show();
    
    
  3. Menggunakan Kode Kotlin: Jika Anda menggunakan Kotlin, Anda dapat menggunakan kode berikut:

    private fun restoreDatabase() 
    try 
        // Membuka file backup
        val file = File(Environment.getExternalStorageDirectory().toString() + "/backup/database_backup.db")
    
        // Membuat stream untuk membaca file backup
        val fis = FileInputStream(file)
        val bis = BufferedInputStream(fis)
    
        // Membuka database
        val db = writableDatabase
        db.close()
    
        // Membuat stream untuk menulis database
        val fos = FileOutputStream(databasePath)
        val bos = BufferedOutputStream(fos)
    
        // Menulis database
        val buffer = ByteArray(1024)
        var bytesRead: Int
        while (bis.read(buffer).also  bytesRead = it  != -1) 
            bos.write(buffer, 0, bytesRead)
        
    
        // Menutup stream
        bos.close()
        bis.close()
        fos.close()
        fis.close()
    
        Toast.makeText(this, "Restore berhasil", Toast.LENGTH_SHORT).show()
     catch (e: Exception) 
        Toast.makeText(this, "Gagal restore", Toast.LENGTH_SHORT).show()
    
    

    Kesimpulan

Dalam artikel ini, kita telah membahas tentang cara backup dan restore database SQLite di Android. Kita telah melihat bahwa melakukan backup dan restore database SQLite dapat membantu menghindari kerugian data, menghemat waktu, dan meningkatkan keamanan. Kita juga telah melihat cara melakukan backup dan restore database SQLite menggunakan kode Java dan Kotlin. Dengan demikian, kita dapat memastikan bahwa data aplikasi kita aman dan dapat diakses kembali jika terjadi kesalahan atau kerusakan pada aplikasi.

Cara Backup dan Restore Database SQLite di Android

Tutorial tentang Cara Backup dan Restore Database SQLite di Android