#SQLite #ArchitectureComponents #Room
Packing the Room: Pre-populate your database with this one method
Сейчас в разработке находится следующая версия (2.2) популярного ORM решения для Android - Room. В этой версии появляется функция предзаполнения, которая позволяет вам заполнить БД контентом из файла.
Это позволит избегать парсинга данных из файлов для заполнения данными и ускорить старт приложения.
Packing the Room: Pre-populate your database with this one method
Сейчас в разработке находится следующая версия (2.2) популярного ORM решения для Android - Room. В этой версии появляется функция предзаполнения, которая позволяет вам заполнить БД контентом из файла.
Это позволит избегать парсинга данных из файлов для заполнения данными и ускорить старт приложения.
Medium
Packing the Room: pre-populate your database with this one method
Let’s say that you want to pre-populate your database with data either packaged in your APK or downloaded from server. Whether you wanted…
#Jetpack #Room #Kotlin #Coroutines
Вышла новая стабильная версия Room 2.2.0
ORM библиотека Room достигла своей новой стабильной версии. В ней появились новые возможности:
👉 Возможность иметь подготовленную заранее БД для первоначальной инициализации. Теперь не нужно парсить файлы из asset-ов или ресурсов
👉 Значения по умолчанию для колонок таблицы
👉 Поддержка отношений M:N
👉 Возможность совмещать методы для разных
👉 Поддержка Coroutines Flow
👉 Поддержка инкрементального процессинга аннотаций в Gradle
👉 Разворачивание * проекций при выборке данных, которое позволяет получать только поля, которые есть в конечной
Вышла новая стабильная версия Room 2.2.0
ORM библиотека Room достигла своей новой стабильной версии. В ней появились новые возможности:
👉 Возможность иметь подготовленную заранее БД для первоначальной инициализации. Теперь не нужно парсить файлы из asset-ов или ресурсов
👉 Значения по умолчанию для колонок таблицы
👉 Поддержка отношений M:N
👉 Возможность совмещать методы для разных
Entity
в одном Dao
👉 Поддержка Coroutines Flow
👉 Поддержка инкрементального процессинга аннотаций в Gradle
👉 Разворачивание * проекций при выборке данных, которое позволяет получать только поля, которые есть в конечной
Entity
. Опция пока экспериментальная и включается с помощью флага room.expandProjection
#AndroidX #JetpackWeekly #JetpackCompose #Room
Android Jetpack Weekly #9
🔥Первая порция артефактов Jetpack Compose
🔥Jetpack Compose и Android Studio 3.5 работают вместе
👉 Room 2.2.0
👉 AndroidX Concurrent Futures
👉 Множество новых beta и RC версий
Android Jetpack Weekly #9
🔥Первая порция артефактов Jetpack Compose
🔥Jetpack Compose и Android Studio 3.5 работают вместе
👉 Room 2.2.0
👉 AndroidX Concurrent Futures
👉 Множество новых beta и RC версий
Medium
Android Jetpack Weekly #9
Review of most interesting changes in Android Jetpack releases for the last week
#Room #SQLite
Database relations with Room
Статья о поддержки отношений между сущностями в SQLite с помощью аннотации @Relation в Room:
👉 1 - 1
👉 1 - N
👉 M - N
Плюс аннотации
Database relations with Room
Статья о поддержки отношений между сущностями в SQLite с помощью аннотации @Relation в Room:
👉 1 - 1
👉 1 - N
👉 M - N
Плюс аннотации
@Relation
над полем, в том, что связанные сущности из другой таблицы будут запрашиваться автоматически.Medium
Database relations with Room
An important part of designing a relational database is splitting the data into related tables and pulling the data together in meaningful…
#Room #Coroutines
Room 🔗 Flow
Room с каждой версии все больше и больше включает в себя поддержку Kotlin Coroutine. В последней версии (2.2) появилась возможно использовать Flow. Как это работает вы можете найти в статье.
Room 🔗 Flow
Room с каждой версии все больше и больше включает в себя поддержку Kotlin Coroutine. В последней версии (2.2) появилась возможно использовать Flow. Как это работает вы можете найти в статье.
Medium
Room 🔗 Flow
Coroutines support in Room has been increasing at every release: Room 2.1 added coroutines support for one-shot read / write operations and…
#SQLite #Room
SQLite Triggers (+ Android Room)
SQLite - самая популярная БД в мобильных ОС. Почему? Немалую роль сыграло в этом ее встраивание в мобильные ОС и схожесть синтаксиса запросов с SQL. В Android вы также могли слышать о библиотеке Room, которая является ORM для SQLite и значительно упрощает работу с получением данных, а также получением их обновлений через
В статье автор разбирается в механизме SQLite Trigger и как оповещается об обновление данных в Room.
SQLite Triggers (+ Android Room)
SQLite - самая популярная БД в мобильных ОС. Почему? Немалую роль сыграло в этом ее встраивание в мобильные ОС и схожесть синтаксиса запросов с SQL. В Android вы также могли слышать о библиотеке Room, которая является ORM для SQLite и значительно упрощает работу с получением данных, а также получением их обновлений через
LiveData
, RxJava Observable
или Coroutines Flow
.В статье автор разбирается в механизме SQLite Trigger и как оповещается об обновление данных в Room.
Medium
SQLite Triggers (+ Android Room)
Diving into SQLite Triggers and Android Room internals
This media is not supported in your browser
VIEW IN TELEGRAM
#Room #Tools
FloorPlan - translate Room schemas to DBML
Конвертирование схему БД на основе Room в Database Markup Language (DBML), чтобы затем использовать DBML в dbdiagram.io и красиво визаулизировать схему.
FloorPlan - translate Room schemas to DBML
Конвертирование схему БД на основе Room в Database Markup Language (DBML), чтобы затем использовать DBML в dbdiagram.io и красиво визаулизировать схему.
#AndroidStudio #SQLite #Room
Database Inspector - A live database tool we’ve been waiting for!
Android Studio 4.1 Canary 5 порадовала нас новым инструментом - Database Inspector.
В статье вы найдете разбор возможностей этого инструмента:
👉 Получение доступа к БД
👉 Модификация и отладка БД
Database Inspector - A live database tool we’ve been waiting for!
Android Studio 4.1 Canary 5 порадовала нас новым инструментом - Database Inspector.
В статье вы найдете разбор возможностей этого инструмента:
👉 Получение доступа к БД
👉 Модификация и отладка БД
Medium
Database Inspector
Creating and managing local databases is a core component of most mobile apps. But whether you’re using SQLite directly or through the…
#SQLite #Security #Room
Securing a Room Database With Passcode-Based Encryption
Обеспечение безопасности данных пользователя важно для любого приложения. Если в вашем приложении есть экран с кодом, значит пользователю есть что защищать. Поэтому берите ключ, который вводит пользователь и шифруйте им данные пользователя.
В статье вы найдёте как шифровать базу данный SQLite, и в случае когда у вас используется Room.
Securing a Room Database With Passcode-Based Encryption
Обеспечение безопасности данных пользователя важно для любого приложения. Если в вашем приложении есть экран с кодом, значит пользователю есть что защищать. Поэтому берите ключ, который вводит пользователь и шифруйте им данные пользователя.
В статье вы найдёте как шифровать базу данный SQLite, и в случае когда у вас используется Room.
Medium
Securing a Room Database With Passcode Based Encryption
Using available Java APIs
#Kotlin #Room #Jetpack
Using and testing Room Kotlin APIs
Разбор различных возможностей Room и кода, который генерируется по итогу.
Using and testing Room Kotlin APIs
Разбор различных возможностей Room и кода, который генерируется по итогу.
#Room #SQLite
Room auto-migrations
В следующей версией Room (2.4.0) появится использовать автоматическую миграции при изменении структуры БД. Поддерживаются простые случаи такие как обновление колонки и удаление/добавление таблицы, а для более сложных вам надо будет указать какие изменения произошли.
В статье разбираются все особенности работы новой возможности будущей версии Room
Room auto-migrations
В следующей версией Room (2.4.0) появится использовать автоматическую миграции при изменении структуры БД. Поддерживаются простые случаи такие как обновление колонки и удаление/добавление таблицы, а для более сложных вам надо будет указать какие изменения произошли.
В статье разбираются все особенности работы новой возможности будущей версии Room
#room
Вышла новая часть курса по Android на Kotlin для новичков. В ней раскрываются особенности работы с обёрткой над SQL - Room
Вышла новая часть курса по Android на Kotlin для новичков. В ней раскрываются особенности работы с обёрткой над SQL - Room
#SQLite #Room
Используем join в SQLite-запросах Room для android
Демонстрация работы JOIN запросов, поддержка которых появилась в Room 2.4.0-alpha02
Используем join в SQLite-запросах Room для android
Демонстрация работы JOIN запросов, поддержка которых появилась в Room 2.4.0-alpha02
#room #ksp
Room & Kotlin Symbol Processing
В Room 2.4 появилась возможность генерировать код с помощью KSP, что позволило до 2 раз увеличить скорость компиляции, особенно при чистой сборке проекта.
В статье рассказывается история интеграции KSP в Room: а также с какими вызовами столкнулись разработчики. Авторы разработали библиотеку X Processing - абстракцию над KSP и Java AP
Room & Kotlin Symbol Processing
В Room 2.4 появилась возможность генерировать код с помощью KSP, что позволило до 2 раз увеличить скорость компиляции, особенно при чистой сборке проекта.
В статье рассказывается история интеграции KSP в Room: а также с какими вызовами столкнулись разработчики. Авторы разработали библиотеку X Processing - абстракцию над KSP и Java AP
#room #rxjava
Room + RxJava2 Flowable получение пустого списка при отсутствии данных
Магия с RxJava чтобы получать нужные данные при пустой таблице в Room получить пустой список. Странно что приходится городить такие костыли, но что есть
Room + RxJava2 Flowable получение пустого списка при отсутствии данных
Магия с RxJava чтобы получать нужные данные при пустой таблице в Room получить пустой список. Странно что приходится городить такие костыли, но что есть
Стартанула разработка версии 2.7.0 и это становится главной новостью.
Важные факты:
👉 Переход на генерацию на основе KSP по умолчанию и генерация Kotlin кода
👉 KAPT и APT будут генерировать Java код
👉 Переход на новые мультиплатформенные API из Jetpack SQLIte
👉 Удалили KTX артефакт так как основной артефакт будет полностью на Kotlin
👉 Все функции Room интерфейсов должны содержать либо suspend функции или возвращать Flow
Что не работает
Больше информации о Room в KMP читайте в документации
#sqlite #room #jetpack #jetpackupdate #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Kotlin Broadcast
Room 2.7.0-alpha08 дальше развивает поддержку KMP
👉 Артифакт room-paging получил поддержку KMP
👉 API InvalidationTracker теперь стало доступно не только для Android
#jetpack #room #kmp
👉 Артифакт room-paging получил поддержку KMP
👉 API InvalidationTracker теперь стало доступно не только для Android
#jetpack #room #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья(12м) с изложением подхода как сделать трекинг скорости работы методов Room. Автор использует Trace и создание обертки на Dao через Java Dynamic Proxy.
#room #sqlite #оптимизация #производительность
#room #sqlite #оптимизация #производительность
Разработчик из мессенджера eXpress поделилась (15м) как они добивались минимальной задержки между нажатием кнопки отправки сообщения и показом этого в ленте сообщений. Одной из частей послужила оптимизация работы с БД SQLite черз Room:
🚀 Получать только необходимые столбцы (получили ускорение до 9 раз в отдельных сценариях)
🚀 Использование специальны операторов SQLite (например, EXISTS)
🚀 Использование транзакций (INSERT и UPDATE ускорили в несколько раз)
🚀 Обновление нескольких полей в рамках одной UPDATE операции
🚀 Игнорирование операций без результата (например, вставки пустого List)
Больше полезных советов в статье
#sqlite #оптимизации #room
🚀 Получать только необходимые столбцы (получили ускорение до 9 раз в отдельных сценариях)
🚀 Использование специальны операторов SQLite (например, EXISTS)
🚀 Использование транзакций (INSERT и UPDATE ускорили в несколько раз)
🚀 Обновление нескольких полей в рамках одной UPDATE операции
🚀 Игнорирование операций без результата (например, вставки пустого List)
Больше полезных советов в статье
#sqlite #оптимизации #room