Использую Room Persistence Library.
Добавление зависимостей:
gradle
Определение Entities (таблиц):
Создаю класс, аннотированный как @Entity. Каждое поле будет колонкой, а @PrimaryKey — первичным ключом.
java
Определение DAO (Data Access Object):
Создаю интерфейс, аннотированный как @Dao, с методами для доступа
к данным (insert, update, delete, query).
java
Определение базы данных:
Создаю абстрактный класс, расширяющий RoomDatabase, аннотированный
@Database. Включаю список сущностей и DAO.
java
Инициализация базы данных:
Получаю экземпляр базы данных, обычно в Application классе или Activity (хотя Application предпочтительнее для синглтона).
java
Выполнение операций с данными:
Получив экземпляр DAO, выполняю операции с базой данных,
предпочтительно на фоновом потоке (например, используя
AsyncTask, Executors, Coroutines, RxJava).
java
Этот подход обеспечивает абстракцию над SQLite, упрощает управление базой данных и предоставляет компиляторную проверку запросов.