Какой наилучший вариант для хранения списка в room Android

#android #android-room

#Android #android-room

Вопрос:

У меня есть объект из серверной части:

 class ProductsDTO {
    @PrimaryKey
    var productId: Long = 0
    @TypeConverters(ProductConverter::class)
    var productsList: List<ProductDTO>
    var status: String

    constructor(productsList: List<ProductDTO>, status: String) {
        this.productsList = productsList
        this.status = status
    }
}
  

на данный момент я сохраняю в базе данных в виде таблицы Products, где у меня есть 3 таблицы: ProductID, ProductList и status.
В будущем я хочу использовать некоторые фильтры для получения продукта из productsList и мне было интересно, что будет быстрее: сохранить список продуктов в другую таблицу и выполнить поиск в БД с помощью запроса или загрузить в память productsList и отфильтровать по параметрам?

Ответ №1:

Вы можете сохранить список в базе данных с помощью конвертеров, которые используются по умолчанию в библиотеке Room (https://developer.android.com/training/data-storage/room/referencing-data )

У вас есть возможный пример здесь (https://medium.com/@toddcookevt/android-room-storing-lists-of-objects-766cca57e3f9 )

Надеюсь, это поможет