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

onCreate() dari RoomDatabase.Callback() tidak dipanggil setelah panggilan berhasil ke .build()

Alasan mengapa OnCreate tidak dipanggil karena hanya dipanggil sekali saat database pertama kali dibuat dan tidak akan dipanggil lagi selama database ada.

Jika Anda menghapus data Aplikasi atau mencopot pemasangan Aplikasi lalu menjalankannya kembali, Anda akan melihat bahwa onCreate kemudian dipanggil.

misalnya

private void BuildDatabase() {
   RoomDatabase.Builder roombuilder = Room.databaseBuilder(this, Database.class,"mydb");
   roombuilder.addCallback(new RoomDatabase.Callback() {
       @Override
       public void onCreate(@NonNull SupportSQLiteDatabase db) {
           super.onCreate(db);
           Log.d("ONCREATE","Database has been created.");
       }

       @Override
       public void onOpen(@NonNull SupportSQLiteDatabase db) {
           super.onOpen(db);
           Log.d("ONOPEN","Database has been opened.");
       }
   });
   mRoomDB = (Database) roombuilder.build();
}

Setelah menghapus hasil data Aplikasi di :-

2018-12-20 06:36:23.045 2271-2287/so53839431.so53839431roomrelationship D/ONCREATE: Database has been created.
2018-12-20 06:36:23.055 2271-2287/so53839431.so53839431roomrelationship D/ONOPEN: Database has been opened.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menampilkan Pengaturan Perintah Dot Saat Ini di SQLite

  2. SQLite - Ekspor Data ke File CSV

  3. Ambil database atau file lain dari Penyimpanan Internal menggunakan run-as

  4. Hapus SQLite

  5. Bagaimana cara melakukan kueri SQLite dalam aplikasi Android?