Как мы можем преобразовать базу данных SQLite в базу данных Realm?
Есть ли способ использовать предварительно заполненные базы данных с Realm на Android?
Как мы можем преобразовать базу данных SQLite в базу данных Realm?
Есть ли способ использовать предварительно заполненные базы данных с Realm на Android?
В настоящее время нет способа автоматически преобразовать базу данных SQLite в базу данных Realm, вам придется вручную считывать все данные из базы данных SQLite и вставлять их в Realm.
Альтернативой может быть браузер Realm, который может упростить эту задачу, но в настоящее время он доступен только для MacOS X. Вы можете прочитать больше здесь: https://github.com/realm/realm-java/issues/435
Для второй части: поскольку базы данных Realm представляют собой всего один файл, вы можете легко добавить предварительно заполненную базу данных Realm в свое приложение и ссылаться на нее с помощью Realm.getInstance().
Это ответ на вторую часть вопроса.
При отправке предварительно заполненной базы данных в папке ресурсов вашего приложения, аналогично официальной цели-C, на объединить Realm с вашим приложением, вероятно, это самый быстрый способ получить предварительно заполненный Realm, если у вас много данных. Но начиная с Realm Java 0.89 появился официальный способ предварительного заполнения базы данных Realm на Android.
Теперь существует метод, который позволяет указать транзакцию, которая будет выполняться при первом создании базы данных Realm. Вы должны вызвать этот метод, initialData(Realm.Transaction transaction)
в рамках настройки RealmConfiguration Builder.
Например
RealmConfiguration config = new RealmConfiguration.Builder(context)
.name("myrealm.realm")
.initialData(new MyInitialDataRealmTransaction()),
.build();
MyInitialDataRealmTransaction
. Спасибо заранее за ваше время.
- person justinraczak; 28.09.2016