IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Détection de mise à jour SQLite et synchronisation MySQL


Sujet :

Android

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 37
    Par défaut Détection de mise à jour SQLite et synchronisation MySQL
    Bonjour, je cherche à synchroniser certaines données de mon app android sur un serveur externe mysql. En fait ce que je me demande c'est quelle est la technique pour éviter de devoir faire des mises a jours inutile (synchroniser des données de sqlite à mysql alors qu'elles sont identiques des 2 cotés)...

    Je me suis demandé si le fait d'indiqué dans la table USER de mon app (tout est lié a son compte donc on pourrait qualifié cette table comme la principale) un champ "derniereMiserAJour" dans mon sqlite et dès que ce champs diffère entre les 2 BDD il y aurait une synchronisation de toutes les données ayant une date plus avancé que l'ancienne "derniereMiserAJour" de mysql ...

    Est ce que cette idée est un peu farfelu ou bien existe-t-il un moyen plus simple/meilleur ??

  2. #2
    Membre confirmé
    Homme Profil pro
    etuidiant
    Inscrit en
    Octobre 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : etuidiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2011
    Messages : 64
    Par défaut
    Ta technique me parait bien adapter maintenant personnelement je ne sais pas s'il existe des méthodes toute faite ou autre :S ...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2012
    Messages : 35
    Par défaut
    J'ai trouvé ca : http://softwaretopic.informer.com/sq...remental-sync/ ...maintenant je sais pas ce que ca vaut ni si c est vraimentce que tu recherches :S ...

  4. #4
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 152
    Par défaut
    Je travail sur une application en ce moment avec une synchronisation entre une base de données MySQL distante et la base de données SQLite du téléphone.

    Il y a plusieurs tables et quand une entrée est ajouté ou supprimé je dois mettre à jour.

    Pour savoir si des entrées ont été ajouté c'est simple, il suffit d'avoir dans la table un champ qui contient une Date de Dernière Modification.

    Comme ça il suffit de comparer pour récupérer les nouvelles entrées.

    Par contre si des entrées ont été supprimé sur la base MySQL là c'est plus chiant.

    En fait j'envoie avec le WebService le nombre d'entrées d'une table.
    Et si il y a une différence entre le nombre d'entrées de la table en ligne et le nombre d'entrées de la table local c'est que des lignes ont été supprimé dans la table en ligne.

    Du coup j’envoie au WebService la liste de tout les ID.
    Et il me retourne les ID à supprimer.

    Edit :
    Ou alors j'envoie rien de spécial au WebService qui me retourne toutes les bonnes ID et si dans ma base j'en ai qui ne sont pas dans la liste je les supprimes.

    Re Edit :
    Parce que là l'utilisateur peut ajouter des données depuis le téléphone.
    Du coup si l'utilisateur se synchronise avec son tel, ajoute un truc depuis le logiciel, ajoute un truc depuis son tel, le tel ne va peut être pas avoir la donnée ajouté depuis le logiciel.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 37
    Par défaut
    Oki ben je test ca alors merci en tout cas !!

  6. #6
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Pas du tout....

    La règle de base en "gestion" de données est de ne jamais rien supprimer...
    Donc il suffit d'un flag "Active" ('Y'/'N' par exemple)...
    Les fonctions de list/get ne vont chercher que les éléments "active".
    Quand on "supprime" un record, c'est une suppression logique (le flag passe à 'N') avec modification de la date...

    Sinon, un sync se passe en général de la manière suivante:
    getDeletedSince(...)
    => list of deleted items (+ eventually merged-to destinations)
    getModifiedSince(...)
    => list of active items modified

  7. #7
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 152
    Par défaut
    Effectivement quand au lieu de supprimer une ligne on change juste un champ c'est plus simple à gérer au niveau de la synchro, malheureusement ça ne fonctionne pas intégralement comme ça sur le système ou je travail actuellement.

    Sur une table par exemple il y a un champ date si on sort cette ligne.
    Donc c'est pratique, mais on peut aussi supprimer la ligne carrément.

  8. #8
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    hmmmmm... dans ce cas effectivement difficile de récupérer les "deleted items"...
    A moins de stocker quelque part un "backlog" des éléments détruits

  9. #9
    Membre averti
    Profil pro
    CEO
    Inscrit en
    Janvier 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : CEO

    Informations forums :
    Inscription : Janvier 2005
    Messages : 18
    Par défaut Besoin d'aide
    Bonjour,

    J'ai le même problème sauf que je n'arrive pas a faire la synchronisation sur plusieurs, vu que thierrybenji a réussis à le faire, j'aimerais savoir si c'est possible que tu me viennes en aide.

    Merci

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/12/2009, 14h00
  2. [MySQL] Échec de mise à jour des infos sur MySQL
    Par Discologue dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 01/10/2008, 11h01
  3. [MySQL] j'ai un probléme pour faire la mise à jour de ma table mysql
    Par kebson dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/06/2007, 16h50
  4. Réponses: 1
    Dernier message: 27/03/2007, 10h23
  5. Mise à jour d'une bd mysql
    Par joquetino dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 11/01/2005, 14h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo