Application Android embarquée
Bonjour à tous,
J’entreprends la création d’une application de gestion embarquée, destinée à être déployée sur des tablettes Android. Cette application devra fonctionner en local de façon autonome (en mode off-line) avec une base de données embarquée.
Cette base de données locale néanmoins sera synchronisée avec une base de données de production située sur un serveur distant, par échange de fichier texte en FTP. Dans cette phase de synchronisation on-line, l’application android devra :
- Générer un fichier texte représentant les modifications apportées à la base de données locale depuis la dernière synchronisation.
- Uploader ce fichier sur un serveur en FTP (fichier qui sera traité par un programme sur le serveur afin de l’intégrer sur la base de données de production).
- Downloader un fichier mis à disposition par le serveur, représentant des modifications survenues sur la base de données de production et destinés à la mise à jour de la base de données locale.
- Intégrer dans la base de données locale les modifications des éventuels fichiers downloadés sur le serveur.
Sur le papier, rien d’extravagant… sinon la taille de la base de données locale, pouvant atteindre de gros volumes pour une application Android (plus de 500 Mo).
Les premières difficultés auxquelles je suis confronté, concernent la base de données. Il semble impossible de déployer une base de données avec un tel volume sur le disque dur d’une tablette Android. Pour le moment, j’ai contourné ce problème, en la déployant sur une carte SD…
Voici mes questions :
- Existe-t-il meilleur choix de base de données que SQLite, intégrée nativement au SDK Android ? (SQL Anywhere, Berkeley DB…)
Je doute des performances de cette DB, notamment pour des requêtes comportant des jointures sur plusieurs tables.
- Est-il possible de déployer une DB avec un volume important sur le disque interne d’une tablette Android ?
- Le déploiement d’une base de données sur une carte SD est-elle une solution viable ?
Merci par avance de vos réponses.