Casa > Q > Qual É A Melhor Maneira De Armazenar Dados Do Firebase Para O Sqlite (Base De Dados Local Do Android)?

Qual é a melhor maneira de armazenar dados do Firebase para o SQLite (base de dados local do Android)?

Firebase mudou muito nos últimos anos. O Firestore está fora do beta a partir deste ano (2019) e tem muitos recursos excelentes, incluindo suporte offline.

Cloud Firestore suporta a persistência de dados offline. Este recurso esconde uma cópia dos dados do Cloud Firestore que sua aplicação está usando ativamente, para que sua aplicação possa acessar os dados quando o dispositivo estiver offline. Você pode escrever, ler, ouvir e consultar os dados em cache. Quando o dispositivo volta online, o Cloud Firestore sincroniza quaisquer alterações locais feitas pela sua aplicação para o backend do Cloud Firestore.

O suporte off-line é ativado por padrão com 100MB de cache.

Quando a persistência é ativada, o Cloud Firestore armazena em cache todos os documentos recebidos do backend para acesso offline. O Cloud Firestore define um limite padrão para o tamanho da cache. Após exceder o padrão, o Cloud Firestore periodicamente tenta limpar documentos mais antigos e não utilizados. Você pode configurar um limite diferente para o tamanho da cache ou desabilitar o processo de limpeza completamente:

>p>Offline suporte utiliza por padrão uma base de dados SQLite ( que infelizmente você não pode acessar / consultar ). Isto é muito mau, uma vez que o Firestore não suporta consultas com "LIKE", e os serviços recomendados de pesquisa de texto completo como o Algolia são caros.

Aqui, em Underline, precisávamos de fornecer uma forma de os utilizadores pesquisarem as suas notas de livro. A pesquisa de texto completo é óptima em geral, mas quando um utilizador tenta consultar os seus próprios documentos ( que não são assim tantos ), estes serviços são um pouco exagerados. Não faz sentido usar um serviço que é optimizado para consultar biliões de documentos apenas para pesquisar em 50-100 deles.

Outras soluções são ou criar a sua própria cache na própria base de dados SQLite para documentos que quer pesquisar ou, se tiver a certeza de que são muito poucos, pode consultá-los a partir dos dados offline do Firestore e fazer um loop entre eles.

Firestore offers a way of disabling network and query only from local cache.

  1. Firestore.firestore().disableNetwork 

But, I am not sure that you won’t be charged for the reads you are making while offline.

De Strait Closser

Os empregados têm computadores portáteis na Accenture? :: Em discordância, as pessoas sabem que você as bloqueou?