SQLite
 sql >> Database >  >> RDS >> SQLite

È possibile migrare da Realm a Sqlite?

Non credo di aver capito bene quale sia il tuo problema. Se stai chiedendo se esiste uno strumento che automatizza la migrazione dei dati per te, allora no, non esiste uno strumento del genere.

Altrimenti è piuttosto semplice:

  1. Gestisci onCreate , onDowngrade e onUpgrade metodi nell'implementazione del tuo SQLiteOpenHelper classe.

  2. Nel tuo onCreate metodo, subito dopo aver creato le tabelle, ottieni tutti i tuoi dati da Realm e inserisci nelle tabelle SQLite.

Qualcosa del genere:

Realm realm = Realm.getDefaultInstance();
RealmResults<MyClass> all = realm.where(MyClass.class)
                                 .findAll();
for (MyClass instance : all) {
    doInsert(instance);
}

In realtà ti suggerisco di esaminare come ridurre le dimensioni dell'APK durante l'utilizzo di Realm, ma dipende da te

MODIFICA 1 Dovresti assicurarti di migrare prima i dati e quindi eliminare i file Realm. Anche se non sono i file di dati a rendere grande il tuo APK, ma piuttosto le librerie effettive fornite con Realm. Quindi per questo, sfortunatamente, dovrai fare due passaggi:il primo rilascio dell'aggiornamento che migra i dati su SQLite e dopo un periodo di tempo ragionevole (come una settimana) puoi rilasciare l'aggiornamento che elimina completamente le librerie di Realm. Spero che abbia senso.