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 :

Questions diverses sur la synchronisation SQLite et MySQL dans une appli


Sujet :

Android

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 25
    Points : 26
    Points
    26
    Par défaut Questions diverses sur la synchronisation SQLite et MySQL dans une appli
    Bonjour.

    Je ne cherche pas de l'aide précise, juste quelques informations à propos des choix techniques que je devrais faire pour développer mon application.
    J'ai déjà fait des recherches sur internet mais toutes les informations sont éparpillées, et ne répondent pas toujours précisément à mes questions.
    Je sollicite donc votre aide afin de m'éclairer dans mes choix à faire.

    1) Mon application utilise des informations qui sont stockées sur une BDD externe. Tout d'abord, quelles solutions existent pour se connecter à une BDD externe MySQL ? J'ai lu que l'on devait passer par le langage JSon pour cela, est-ce obligatoire ? Si ces informations sont stockée sur un serveur privé (entreprise), la connexion est-elle possible ou le serveur peut être sécurisé contre les connexions non intranet ?

    2) Si mon terminal mobile n'est pas connecté à internet, est-il possible par exemple d'insérer des informations en base SQLite, et une fois la connexion rétablie, insérer ces informations dans ma BDD externe ? Même question avec la suppression, j'ai entendu parler que c'était plus difficile et qu'il fallait utiliser des flags.

    3) A l'inverse, si des informations ont été ajoutées au serveur externe pendant que mon terminal mobile était hors ligne, il devrait être plutôt facile de les récupérer à la prochaine connexion. Mais pour une suppression, si une info est présente dans ma table SQLite et pas dans l'externe, comment puis-je différencier s'il s’agit d'une info qui a été ajoutée dans SQLite ou bien qui a été supprimée du serveur externe.

    4) Auriez-vous des tutos relativement simple, axés pour les débutants en JAVA.

    Merci par avance.
    Ces réponses sont importante car je suis en stage de fin d'étude, et il me reste 4 mois à travailler sur mon appli. Je souhaite donc avoir plus d'informations sur les contraintes techniques afin d’adapter mon planning.

  2. #2
    Expert éminent

    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
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Lire des cours/infos sur le développement 3-Tiers (Client,Serveur,Base-De-Données).

    Ensuite une règle d'or de la gestion des données: on ne les détruit jamais !
    Si on ne veut pas qu'elle soit utilisée dans tel ou tel traitement, on lui colle un "flag" (une colonne DELETED par exemple), mais c'est tout.

    Une autre règle d'or consiste à toujours savoir qui fait quoi dans les données, donc avoir un "log" des modifications par utilisateurs.
    Sans aller jusque là, une simple colonne "LAST_MODIFICATION_DATE" permet de savoir quand une donnée est modifiée dans la base.

    Ensuite pour une synchro, c'est très simple:
    select * from {table} where LAST_MODIFICATION_DATE>last_sync_date
    (sans tenir compte de la colonne "DELETED")
    Et le résultat permet de savoir si on doit mettre à jour, créer (si une colonne CREATION_DATE est présente), ou détruire la donnée dans le cache.

    Pour finir, j'ai vu parler de JSON... cela n'a rien à faire ici (enfin si, un peu, mais pas énormément).

    Le "Client" communique avec le "Serveur" en lui envoyant des données, puis celui-ci renvoit des données au client.
    Il y a donc 3 protocoles à mettre en oeuvre:
    - Protocole de connexion entre client & serveur (en général http/https)
    - Protocole des données du client vers le serveur (souvent html-encoded-form)
    - Protocole des données du serveur vers le client (html, text, XML, ou encore, et c'est là que cela intervient: JSON).

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 25
    Points : 26
    Points
    26
    Par défaut
    Merci beaucoup pour toutes ces réponses, je vais commencer a plancher sur le sujet dès maintenant.

Discussions similaires

  1. [iOS 3.x] Utiliser des données d'une base MySQL dans une appli Iphone
    Par Thomas.NET dans le forum Objective-C
    Réponses: 3
    Dernier message: 16/04/2010, 11h13
  2. [Débutant] Embarquer MySQL dans une appli Java
    Par javanul dans le forum JDBC
    Réponses: 1
    Dernier message: 19/06/2008, 16h33
  3. Questions diverses sur MySQL 5.0
    Par AsmCode dans le forum SQL Procédural
    Réponses: 14
    Dernier message: 25/01/2007, 16h35
  4. [DW8] Questions diverses sur le logicie
    Par syn_42 dans le forum Dreamweaver
    Réponses: 3
    Dernier message: 01/03/2006, 17h23
  5. Questions diverses sur TIBDataset et TDBGrid
    Par AlexB59 dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/11/2005, 17h14

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