DataSource toma todos los datos de la base de datos local (Room). BoundaryCallback carga nuevos datos del servidor solo cuando llega al final. Pero, ¿qué hacer con los elementos almacenados en la habitación si ya se cambiaron o eliminaron del servidor remoto? La aplicación lo mostrará ya que todavía están en nuestra base de datos local.
Leí este artículo Biblioteca de paginación: base de datos + red , pero no estoy seguro de si esta es la mejor solución.
Tal vez debería crear DataSource y DataSourceFactory personalizados que obtendrán la página de la base de datos local y cargarán asíncronamente la misma página desde el servidor remoto. Luego elimine la página local de la base de datos e inserte esta nueva página. Pero suena aún peor que en ese artículo.
¿Existe una forma correcta de sincronizar la base de datos local con la base de datos remota?