Android - Firebase Hors Ligne Les Meilleures Pratiques
Je suis coincé à la compréhension de la notion de prise de Firebase Application Hors ligne.
Selon les documents, il nous faut appeler:
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
Mais où doit-on appeler cela? Elle doit être utilisée dans toutes les Activités de l'Application? Parce que, quand je suis en utilisant ce à l'intérieur de ma classe d'Application onCreate() la méthode, mon application se bloque en permanence.
Alors, quelle est la meilleure pratique que nous devons suivre pour rendre notre application en mode hors connexion.
Un plus de doute, c'est la différence entre le dessus de l'un et de DatabaseReference.keppSynced(true);
- Vous essayez cela, il faudra de l'aide pour vous. suivez ce lien : stackoverflow.com/a/54127798/10379874
Vous devez vous connecter pour publier un commentaire.
setPersistenceEnabled()
doit être appelé qu'une seule fois au démarrage, avant de récupérer votre première référence de la base de données. J'ai appeler le mien directement après j'appelleFIRApp.configure()
Persistance activé permet en mode hors connexion complet de rétention de l'information. La partie importante de cela est que hors ligne, les demandes et les mises à jour sera terminée, même si vous les forcez-fermer l'application et de le rouvrir. Si vous êtes à la recherche pour un accès hors ligne c'est le booléen à définir.
Garder la synchronisation est utilisé pour si des circonstances où vous voulez à jour des données mises en cache pour chaque fois que vous récupérez les informations, mais n'ont pas nécessairement besoin que les données à restaurer la prochaine fois que vous ouvrez l'application.
Un bon exemple d'utilisation serait si vous aviez des vues accessible à l'utilisateur connecté de détails. Au lieu d'avoir de l'utilisateur de détail d'auditeurs sur tous les points de vue qui utilisent les détails, vous pouvez simplement spécifier garder que la référence de base de données synchronisés et vous pouvez obtenir jusqu'à ce jour de données plus rapide.
Plus de détails sur la persistance et la synchronisation peut être lu ici dans le Firebase de la documentation:
https://firebase.google.com/docs/database/android/offline-capabilities
Créer une Application de Classe
Et de Changer votre manifeste comme
Prises de ici
Pas sûr, si elle est pertinente ici. Mais il existe un autre scénario lorsque ce blocage peut se produire.
Si votre application dispose d'un service (avec un autre processus) et vous êtes en train de créer votre propre classe d'Application, les services et les applications en arrière-plan va utiliser la même classe d'Application (pas même instance) pour l'initialiser. Maintenant, quand je suis à l'aide de com.google.firebase:firebase-crash de l'importance de gérer les blocages, il crée un service d'arrière-plan de votre.app.packagename:background_crash. Pour quelque raison, c'était induisant des plantages sur mon application. Plus précisément, parce que dans ma classe d'Application, j'ai été faire un appel comme,
Je suis en supposant, le service d'arrière-plan lorsque initing avec notre Application de classe, en quelque sorte Firebase n'est pas initialisé. Pour résoudre ce problème, je n'ai
Si un développeur iOS y face au même problème,
ensuite, écrivez la ligne suivante dans votre AppDelegate.swift fichier en fonction de l'application": didFinishLaunchingWithOptions" juste avant l'instruction de retour
et utiliser la ligne suivante
avec votre base de données de référence à l'intérieur de votre viewController.