StorIO наблюдать за изменениями в таблице, могу ли я получить обновленные строки / элементы с ним?

В StorIOSQLite есть интересный метод наблюдений ChangesInTable(). И когда я увидел его, я подумал, что он будет наблюдать изменения в данной таблице и возвращать список обновленных элементов.

Но он просто возвращает обновленное имя таблицы. Зачем мне нужно обновленное имя таблицы? Я могу просто подписаться на таблицу дыр, чтобы получать уведомления об обновлении

storIoSqLite.get()
            .listOfObjects(Item.class)
            .withQuery(
                    Query.builder()
                            .table(ItemTable.NAME)
                            .build()
            )
            .prepare()
            .asRxObservable()

Пожалуйста, объясните, в чем смысл метода наблюдающих за изменением (). И что является лучшим решением для моей проблемы.

1 ответ

Решение

С вашим подходом вы на самом деле делаете query в БД и только потом реагирует на изменения.

С StorIOSQLite.observeChangesInTable() Вы можете реагировать на изменения в таблице, не делая никаких queries в БД Это намного дешевле и должно использоваться в ситуациях, когда вам нужно сделать debounce() или же window(), filter() и т.д. query в БД

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

Другие вопросы по тегам