6
votes

Synchronisation entre la base de données SQLite sur un périphérique Android et une base de données SQL Server

Nous essayons de synchroniser entre les bases de données SQL LITE hébergées sur différents appareils Android et la base de données SQL Server hébergée sur un serveur central. Nous avons éliminé l'utilisation d'un service Web à cause d'une condition préalable au client. Pourrait-il y avoir une autre façon?

PS: Nous sommes autorisés à accrocher les périphériques à la fin de la journée à un serveur pouvant héberger une application de service Windows ou une application Windows Formulaires pour le processus de synchronisation.

merci


1 commentaires

Quelle (s) direction (s) les données doivent-elles être synchronisées?


3 Réponses :


1
votes

Vérifiez Cette implémentation de Microsoft Sync Framework Toolkit. Je ne suis pas sûr que si c'est prêt encore.


0 commentaires

1
votes

Bien que les services Web exposés ne soient pas supposés être utilisés, mais une interface / méthode HTTP peut-elle être ouverte / mise en œuvre sur le serveur pouvant être appelée à un périphérique pour réussir les données.May Be une application Web de dédicace Soyez écrit uniquement pour obtenir Les données de vos appareils et cette application s'occuperont de transmettre le contenu sur SQL Server.

Avec l'autre alternative [qui accroche au périphérique], vous devez transférer / exporter les données du périphérique comme fichier dans un format convenu qui peut ensuite être consommé par l'application Windows Service / Form.


1 commentaires

Yup, le seul moyen est de beaucoup de travail, j'utilise le repos HTTP et une colonnes de base / création dans chaque tableau pour enregistrer la bande passante



1
votes

Comment allez-vous les accrocher à un serveur "à la fin de la journée?" Généralement, ce que vous feriez dans ce type de situation, c'est écrire une application personnalisée sur le périphérique qui a synchronisé les données chaque fois que c'était possible.

Vous pouvez le faire de différentes manières.

Le premier consiste à écrire un service qui se trouve assis et vérifie s'il a la possibilité de se connecter avec un serveur Web (par exemple, vous pouvez simplement utiliser la connexion LAN et faire une préférence avoir une chaîne qui a déterminé quel serveur vous voulait synchroniser), puis faire la synchronisation de cette façon.

Ce service pourrait être contrôlé par une intention. Vous pouvez également écrire un script qui a émis des commandes à adb qui ont fait les transitions nécessaires entre l'appareil (s'il était connecté via USB) pour effectuer la synchronisation.

Je penserais que le meilleur moyen d'y aller peut être de créer une activité "sync" dans votre application. Cette activité pourrait avoir un bouton que lorsque vous appuyez sur la synchronisation avec le client distant via Internet (que vous avez dit que vous aviez eu, mais comment allez-vous vous connecter?).


2 commentaires

ADB est un démon qui se trouve et communique avec votre appareil Android. C'est le pont de débogage Android. Vous pouvez émettre des commandes (y compris des intentions) via le pont de débogage. Donc, vous pouvez écrire une application qui écoute à intention et utilisez le pont de débogage pour envoyer de l'intention de l'ordinateur à l'appareil (tant qu'elle est connectée via USB, elle est théoriquement possible à l'aide de WiFi).


Cela ressemble à la meilleure solution jusqu'à présent, merci :)