Освой Android играючи

Сайт Александра Климова

Шкодим

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000

Room

9-й курс/Закрытая зона

Очень трудно искать в тёмной комнате чёрную кошку. Особенно, если там её нет.

Работа с базой данных SQLite в Android не отличалась удобством, приходилось писать много строчек кода, прежде чем приступить непосредственно к программированию своей логики. Сторонние разработчики раньше предлагали собственные варианты для уменьшения рутинной работы программиста. Наиболее популярными стали такие библиотеки как Realm, ORMLite, GreenDao, DBFlow, Sugar ORM.

Гугл предложила своё решение - Room, который входит в состав Android Jetpack (ранее Android Architecture Components) и является обёрткой над SQLiteOpenHelper, т.е. ORM (Object-relational mapping) между классами Java и SQLite. Вам больше не понадобятся Cursor и Loader.

Если вы давно используете приложение с базой данных, то переходить не стоит, либо сначала изучите документацию по миграции, чтобы не потерять свои данные. А если создаёте приложение с нуля, то Room - ваш выбор. Работать становится проще и приятнее.

Минимальная версия для работы с Room - API 15.

Подключим зависимости.


// Для Kotlin
apply plugin: 'kotlin-kapt'

def room_version = "2.3.0"

implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
kapt("androidx.room:room-compiler:$room_version")

// Необязательно
// optional - RxJava2 support for Room
implementation "androidx.room:room-rxjava2:$room_version"

// optional - RxJava3 support for Room
implementation "androidx.room:room-rxjava3:$room_version"

// optional - Guava support for Room, including Optional and ListenableFuture
implementation "androidx.room:room-guava:$room_version"

// optional - Test helpers
testImplementation "androidx.room:room-testing:$room_version"

Вы вошли на сайт, как гость.
Необходимо зарегистрироваться, чтобы прочитать статью

Дополнительное чтение

Room. Часть вторая

Устаревший код для Kotlin в момент появления Room

Реклама