WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception d'un service vidéo pour terminaux portables de type smartphone

( Télécharger le fichier original )
par Rodrigue Monjouo Mounjouopou
Ecole Supérieure Multinationale de Télécommunication - Licence Professionnelle / Ingénieur des Travaux de Télécomunication 2009
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Chapitre 6 : Implémentation de la Solution

VI.1 Création de la MIDlet

Pour la création des MIDlet, on a besoin des préréquis suivants :

Ant et Antenna

Ant est un projet open source de la fondation Apache écrit en Java qui vise le développement d'un logiciel d'automatisation des opérations répétitives tout au long du cycle de développement logiciel, à l'instar des logiciels Make.

Antenna fournit un de jeu de tâches Ant adéquates pour le développement d'applications destinées au MIDP. Antenna permet de compiler, prévérifier, packager et exécuter les applications MIDP.

- L'API SyncML : c'est le SDK évoqué plus haut. Il est téléchargeable

- L'API Common qui vient en appoint pour l'exécution de certaines tâches telles la sérialisation. Il est disponible en téléchargement.

Les classes clé de l'API sont :

SyncManager : c'est la classe principale qui contrôle le process de synchronisation et fait appel aux méthodes de la classe SyncSource

SyncConfig : classe utilisée pour instancier le SyncManager avec la configuration du client (URL,login, mot de passe, etc)

Implémentation de SyncSource : c'est l'implémentation de l'interface SyncSource qui est le lien entre le moteur de synchronisation (du côté du serveur) et le client. C'est la source des données du client à synchroniser.

SyncItem : représente l'objet échangé entre le SyncSource et le moteur de synchronisation, il peut transporter n'importe quel type d'information.

VI.1.1. Implémentation de notre SyncSource

C'est l'interface entre le client et le moteur de synchronisation. En implémentant cette méthode de la manière la plus convenable pour accéder à la source de données cliente, nous pouvons synchroniser tout type de données à partir du mobile.

Nous pouvons implémenter cette interface directement ou bien nous pouvons étendre la classe abstraite BaseSyncSource , où une partie du travail est déjà réalisée. Les méthodes abstraites à implémenter sont les initXXXitems() pour initialiser les tableaux d'éléments à synchroniser (SyncItem), selon le mode de synchronisation, où XXX peut signifier :

all : il s'agit, dans ce cas, de tous les éléments stockés dans la base de données cliente. Il est utilisé dans le cas d'un slow sync ou d'un refresh from client

new : c'est pour récupérer le tableau des éléments ajoutés chez le client depuis la dernière synchronisation

upd : c'est le tableau des éléments modifiés depuis la dernière synchronisation

del : c'est le tableau des éléments supprimés de la base cliente depuis la dernière synchronisation

Pour gagner de la place en mémoire, il est important que ces tableaux ne contiennent que des informations sur les éléments, sans leur contenu qui pourra être récupéré par un appel

à la méthode getItemContent(). Cette méthode est appelée pour chaque élément à synchroniser.

VI.1.2. Création du SyncManager

Une instance de SyncManager doit être créée avant d'entamer n'importe quelle

synchronisation. Un SyncManager propose un constructeur recevant un SyncConfig en
paramètre, qui doit être rempli lors de l'appel avec l'URL, un login et un mot de passe. Les

autres informations peuvent être optionnelles.

Le SyncConfig contient aussi la classe DeviceConfig, un simple conteneur d'informations relatives à l'appareil telles que le manufacturier, etc.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Qui vit sans folie n'est pas si sage qu'il croit."   La Rochefoucault