Je ne pense pas avoir bien compris quel est ton problème. Si vous demandez s'il existe un outil qui automatisera la migration des données pour vous, alors non, un tel outil n'existe pas.
Sinon, c'est plutôt simple :
-
Gérer
onCreate
,onDowngrade
etonUpgrade
méthodes dans l'implémentation de votreSQLiteOpenHelper
classe. -
Dans votre
onCreate
méthode, juste après avoir créé des tables, obtenez toutes vos données de Realm et insérer dans les tables SQLite.
Quelque chose comme ça :
Realm realm = Realm.getDefaultInstance();
RealmResults<MyClass> all = realm.where(MyClass.class)
.findAll();
for (MyClass instance : all) {
doInsert(instance);
}
En fait, je suggère que vous cherchiez à réduire la taille de l'APK tout en utilisant Realm, mais c'est à vous de décider
MODIFICATION 1 Vous devez vous assurer que vous migrez d'abord les données, puis supprimez les fichiers Realm. Bien que ce ne soient pas les fichiers de données qui font la taille de votre APK, mais plutôt les bibliothèques réelles fournies avec Realm. Donc, pour cela, vous devrez malheureusement suivre deux étapes :la première mise à jour de la version qui migre les données vers SQLite, et après un délai raisonnable (comme une semaine), vous pouvez publier la mise à jour qui supprime complètement les bibliothèques Realm. J'espère que cela a du sens.