SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

RoomDatabase.Callback() के onCreate () को .build () के सफल कॉल के बाद नहीं बुलाया गया था

ऑनक्रिएट . का कारण नहीं कहा जा रहा है क्योंकि इसे केवल एक बार बुलाया जाता है जब डेटाबेस पहली बार बनाया जाता है और तब तक फिर कभी नहीं होता जब तक डेटाबेस मौजूद होता है।

यदि आप ऐप का डेटा हटाते हैं या ऐप को अनइंस्टॉल करते हैं और फिर इसे फिर से चलाते हैं तो आप देखेंगे कि ऑनक्रिएट तब कहा जाता है।

जैसे

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();
}

ऐप के डेटा परिणामों को हटाने के बाद :-

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. संपत्ति फ़ोल्डर से डेटाबेस पढ़ना

  2. IllegalStateException:डेटाबेस पहले ही बंद हो चुका है (ViewPager का उपयोग करके)

  3. SQLite ट्रिम () कैसे काम करता है

  4. GreenDAO तालिकाओं के बीच कई संबंधों का समर्थन करता है

  5. SQLite - एक डेटाबेस ड्रॉप करें