10

Nous développons une application Android native (iOS et Web à suivre) permettant aux utilisateurs de créer un album de manière collaborative.Comment développer une application Android native en mode hors connexion

Nous voulons une expérience aussi transparente que possible lorsque l'appareil ne peut pas se connecter au serveur. Quelque chose comme mentionné dans ce Hoodie blog mais Hoodie est maintenant pour le Web et iOS et nous sommes à la recherche d'Android dès maintenant.

Problème

de conserver les données des albums, des amis, des photos (URL/local, et non Bitmap) sur le côté client. Etre capable de synchroniser des opérations de création/mise à jour hors ligne vers le serveur ultérieurement, avec résolution de conflit.

La recherche actuelle

  1. HTTPResponseCache: Inconvénients: Caches seules les demandes qui ont été frappés une fois. Plus besoin d'un système différent pour gérer les actions de création/mise à jour.
  2. App42, Kinvey: Backend-as-a-service; Les inconvénients: Nous voulons avoir propre backend.
  3. Microsoft Sync Framework Toolkit: Je ne sais pas comment il fonctionne avec Android
  4. PouchDB
  5. Superbus: Résout une partie du problème

sur mesure

Gestion des données dans SQLite sur Android et MySQL serveur Synchronisation avec Android Sync Adapter. Cependant, cela peut prendre du temps et avoir des bugs au démarrage.

Comment ce problème devrait-il être abordé?

Répondre

9

Je travaille sur un projet en ce moment, et nous devons suivre les livraisons et vérifier les livraisons même lorsque l'utilisateur est hors ligne. L'approche que j'utilise est de faire usage de ce plugin ContentProviderSimple Content Provider. Et je vérifie s'il y a internet ou pas, et s'il n'y en a pas. Il stocke les données au fournisseur et change tout ce qui doit être changé dans la DATABASE et donne l'impression à mon utilisateur qu'il a terminé la commande. Et j'ai un SyncAdapter en attente de l'Internet à venir. Et, j'ai aussi un service push pour rafraîchir la base de données une fois qu'il y a un changement dans la base de données. Avoir une compréhension de Google Cloud Messaging permettrait à votre utilisateur d'économiser beaucoup de batterie. Il pourrait y avoir de meilleures options là-bas. Mais, à partir de ma petite expérience avec Android c'est ainsi que ma petite aide pourrait être.

+1

Après la recherche par, je pense que cela est en effet la façon de le faire. Merci. – Sangharsh

2

Avez-vous jeté un coup d'oeil dans CouchBase Server et CouchBase Lite?

Ils fournissent un outil puissant appelé SyncGateway qui gère pour vous toute la synchronisation et la fusion des données entre le serveur et la base de données interne. Vous n'avez rien à coder dans votre application mobile pour la synchonisation.

Couchbase Lite est disponible pour iOS et Android. Il existe également un plugin pour Cordova/PhoneGap disponible.

Je ne ai jamais eu aucun problème de le compiler, juste pour iOS garder à l'esprit de compiler pour iOS6 +, il ne fonctionne pas avec iOS5

+0

Non, je n'y ai pas jeté un coup d'oeil plus tôt. Cela semble prometteur. En ce moment, il est tard pour aller avec cette architecture car le développement est à mi-chemin. – Sangharsh

Questions connexes