Jeg tror ikke helt jeg forstår hvad dit problem er. Hvis du spørger, om der er et værktøj, der vil automatisere datamigreringen for dig, så nej, der findes ikke et sådant værktøj.
Ellers er det ret ligetil:
-
Håndter
onCreate
,onDowngrade
ogonUpgrade
metoder i implementeringen af dinSQLiteOpenHelper
klasse. -
I din
onCreate
metode, lige efter du har oprettet tabeller, skal du hente alle dine data fra Realm og indsæt i SQLite-tabeller.
Noget som dette:
Realm realm = Realm.getDefaultInstance();
RealmResults<MyClass> all = realm.where(MyClass.class)
.findAll();
for (MyClass instance : all) {
doInsert(instance);
}
Jeg foreslår faktisk, at du undersøger, hvordan du reducerer APK-størrelsen, mens du bruger Realm, men det er op til dig
REDIGER 1 Du skal sørge for at migrere dataene først og derefter slette Realm-filer. Selvom det ikke er datafilerne, der gør din APK stor, men derimod de faktiske biblioteker, der følger med Realm. Så til dette skal du desværre tage to trin:Først udgivelsesopdatering, der migrerer dataene til SQLite, og efter nogen rimelig tid (som en uge) kan du frigive opdatering, der fjerner Realm-biblioteker helt. Håber det giver mening.