SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

É possível migrar do Realm para o Sqlite?


Acho que não entendi muito bem qual é o seu problema. Se você está perguntando se existe uma ferramenta que automatize a migração de dados para você, então não, não existe tal ferramenta.

Caso contrário, é bastante simples:

  1. Manipular onCreate , onDowngrade e onUpgrade métodos na implementação do seu SQLiteOpenHelper aula.

  2. Em seu onCreate método, logo após criar tabelas, obtenha todos os seus dados de Realm e inserir em tabelas SQLite.

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

Na verdade, sugiro que você analise como reduzir o tamanho do APK enquanto estiver usando o Realm, mas depende de você

EDITAR 1 Você teria que migrar os dados primeiro e depois excluir os arquivos do Realm. Embora não sejam os arquivos de dados que tornam seu APK grande, mas as bibliotecas reais que acompanham o Realm. Então, para isso, infelizmente, você terá que seguir duas etapas:a primeira atualização de lançamento que migra os dados para o SQLite e, após algum tempo razoável (como uma semana), você pode liberar a atualização que elimina completamente as bibliotecas do Realm. Espero que faça sentido.