Переход на Room
#разработка
Не так давно в нашем проекте появилась задача по переходу на Room. Текущая библиотека для работы с базой данных, ObjectBox, не устраивает по нескольким причинам, самая главная из которых — это случайные краши при запуске приложения. На некоторых устройствах появляются падения при старте приложения, которые невозможно поправить. Разработчики также не дают пояснений по этим крашам, а они занимают одно из первых мест в списке падений.
Еще есть несколько дополнительных причин.
Первая — нестандартность библиотеки. Хотя ObjectBox имеет достаточно простые методы для работы, тем не менее нужно некоторое время на то, чтобы разобраться с ними вновь прибывшим разработчикам.
Вторая — нераспространенность библиотеки. Это отчасти связано и с причиной крашей. Очень сложно найти подводные камни, которые могут всплыть после внедрения этой библиотеки в приложение, как например в нашем случае с падениями. Маленькое сообщество разработчиков также относится к этой причине.
Задача не самая простая, так как необходимо обеспечить работу приложения у текущих пользователей. Если у вас есть подобная проблема, то вот несколько рекомендаций:
1) Добавьте Room в приложение, создайте необходимые сущности.
2) Сохраните данные в созданные сущности, при этом сохраняя все в предыдущую базу данных.
3) Добавьте анатилику, чтобы убедиться в том, что все действительно успешно сохраняется, проверьте, что будет, если убрать сохранение в вашу старую базу.
4) Выполняйте переход в несколько этапов, не пытайтесь сделать все в один спринт. Чаще всего, это приведет к неправильной работе.
Нашел также пару статей о переходе на Room из старой базы данных. Подробнее тут и тут.
#разработка
Не так давно в нашем проекте появилась задача по переходу на Room. Текущая библиотека для работы с базой данных, ObjectBox, не устраивает по нескольким причинам, самая главная из которых — это случайные краши при запуске приложения. На некоторых устройствах появляются падения при старте приложения, которые невозможно поправить. Разработчики также не дают пояснений по этим крашам, а они занимают одно из первых мест в списке падений.
Еще есть несколько дополнительных причин.
Первая — нестандартность библиотеки. Хотя ObjectBox имеет достаточно простые методы для работы, тем не менее нужно некоторое время на то, чтобы разобраться с ними вновь прибывшим разработчикам.
Вторая — нераспространенность библиотеки. Это отчасти связано и с причиной крашей. Очень сложно найти подводные камни, которые могут всплыть после внедрения этой библиотеки в приложение, как например в нашем случае с падениями. Маленькое сообщество разработчиков также относится к этой причине.
Задача не самая простая, так как необходимо обеспечить работу приложения у текущих пользователей. Если у вас есть подобная проблема, то вот несколько рекомендаций:
1) Добавьте Room в приложение, создайте необходимые сущности.
2) Сохраните данные в созданные сущности, при этом сохраняя все в предыдущую базу данных.
3) Добавьте анатилику, чтобы убедиться в том, что все действительно успешно сохраняется, проверьте, что будет, если убрать сохранение в вашу старую базу.
4) Выполняйте переход в несколько этапов, не пытайтесь сделать все в один спринт. Чаще всего, это приведет к неправильной работе.
Нашел также пару статей о переходе на Room из старой базы данных. Подробнее тут и тут.