Ik denk dat ik niet helemaal begrijp wat je probleem is. Als u vraagt of er een tool is die de gegevensmigratie voor u automatiseert, nee, zo'n tool bestaat niet.
Anders is het nogal ongecompliceerd:
-
Behandel
onCreate
,onDowngrade
enonUpgrade
methoden bij de implementatie van uwSQLiteOpenHelper
klasse. -
In uw
onCreate
methode, direct nadat u tabellen heeft gemaakt, haalt u al uw gegevens op uit Realm en invoegen in SQLite-tabellen.
Zoiets als dit:
Realm realm = Realm.getDefaultInstance();
RealmResults<MyClass> all = realm.where(MyClass.class)
.findAll();
for (MyClass instance : all) {
doInsert(instance);
}
Ik raad je eigenlijk aan om te onderzoeken hoe je de APK-grootte kunt verkleinen tijdens het gebruik van Realm, maar het is aan jou
BEWERK 1 U moet ervoor zorgen dat u eerst de gegevens migreert en vervolgens Realm-bestanden verwijdert. Hoewel het niet de gegevensbestanden zijn die uw APK groot maken, maar eerder de daadwerkelijke bibliotheken die bij Realm worden geleverd. Hiervoor moet je helaas twee stappen nemen:eerst een update vrijgeven die de gegevens naar SQLite migreert, en na een redelijke tijd (zoals een week) kun je een update vrijgeven die Realm-bibliotheken volledig uitschakelt. Ik hoop dat het logisch is.