SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

Cara mengembalikan database SQLite setelah backup Android

Ini adalah kode inti dari pemulihan DB yang berfungsi (dari if (dbfile .. dalam try ).

            private static final int BUFFERSZ = 32768;
            private byte[] buffer = new byte[BUFFERSZ];
            ........
            dbfile = new File(currentdbfilename);
            .......
            if (dbfile.delete()) {
                origdeleted = true;
            }

            FileInputStream bkp = new FileInputStream(backupfilename);
            OutputStream restore = new FileOutputStream(currentdbfilename);
            copylength = 0;
            while ((copylength = bkp.read(buffer)) > 0) {
                restore.write(buffer, 0, copylength);
            }
            restore.flush();
            restore.close();
            restoredone = true;
            bkp.close();

Perbedaan utamanya adalah saya menghapus file DB dan menggunakan penulisan daripada transfer. Kemudian dan setelah pemulihan yang berhasil, saya juga menggunakan yang berikut untuk memulai ulang Aplikasi (mungkin berlebihan tetapi berhasil untuk saya) karena Anda bisa mendapatkan hasil yang tidak terduga (saya pikir bagian dari basis data asli dapat diakses dari memori/data yang di-cache):-

    Intent i = getBaseContext().getPackageManager()
                                            .getLaunchIntentForPackage( getBaseContext().getPackageName() );


    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    finish();
    startActivity(i);
    System.exit(0);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Koneksi SQLite bocor meskipun semuanya ditutup

  2. SQLite NULL

  3. Seberapa amankah utas EnableWriteAheadLogging dalam konteks penggunaan nyata dan dokumentasi SQLite?

  4. Perbarui dengan parameter menggunakan perpustakaan persisten ruangan

  5. Cara menarik data dari database dan melihatnya sebagai ListView