Connexion au serveur sur demande
Les solutions d'exemple 02-DisplayRecords.mtd (écran d'accueil affiché ci-dessous à gauche) et 03-DisplayOnDemand.mtd (écran d'accueil affiché ci-dessous à droite) sont situées dans le dossier de (Mes) Documents suivant : Altova\MobileTogetherDesigner10\MobileTogetherDesignerExamples\Tutorials\OfflineUsage. Ouvrez les fichiers dans MobileTogether Designer et exécutez les simulations (F5) pour voir comment elles fonctionnent.
Les deux solutions sont différentes de la solution précédente, 01-AddRecord.mtd, dans le sens qu'elles affichent uniquement les données de la base de données SQLite basée sur le serveur Addresses.sqlite ; il n'existe aucun mécanisme qui permet d'ajouter des enregistrements à la BD. Ces solutions ont été simplifiées délibérément pour se concentrer sur l'affichage des données. La différence entre les deux est dans leurs écrans d'accueil : Alors que celui de 02-DisplayRecords.mtd (2) contient les données téléchargées du serveur, celui de 03-DisplayOnDemand.mtd (3) n'affiche aucune donnée de serveur. Dans 03-DisplayOnDemand.mtd (3), la solution est hors ligne ; elle ne se met en ligne que pour télécharger des données de serveur lorsqu'on active d'un clic le bouton Actualiser (encerclé en rouge dans la capture d'écran ci-dessous à droite).
Veuillez noter que dans les captures d'écran des designs, les cellules de la table dans 02-DisplayRecords.mtd (2) sont liées à la source de page $DB1 (capture d'écran ci-dessous à gauche), alors que les cellules de la table dans 03-DisplayOnDemand.mtd (3) sont liées à la source de page $PERSISTENT (capture d'écran ci-dessous à gauche). Ces sources de page - $DB1 (la source de page liée à la base de données sur le serveur) et $PERSISTENT (la source de page sur le client) - font que les données des sources de page respectives sont affichées dans la table.
•Dans (2), les données sont téléchargées depuis le serveur vers $DB1 sur démarrage de la solution et affichées directement à l'écran d'accueil.
•Dans (3), les données sont téléchargées depuis le serveur $DB1 uniquement lors d'un clic du bouton Actualiser. Ce n'est qu'à ce moment-là que les données sont copiées dans $PERSISTENT et affichées dans la table, en raison des liens de la source de page dans la table. C'est la raison pour laquelle la table est vide jusqu'à ce que vous cliquiez sur le bouton Actualiser.
Paramètres clés
Les paramètres clés des deux solutions sont comparés dans la table suivante.
02-DisplayRecords.mtd (2) | 03-DisplayOnDemand.mtd (3) | Effet |
Charger des données = À première utilisation | Charger des données = Pas automatiquement | Dans (2), les données de BD sont affichées au démarrage de la solution. Dans (3), ce n'est pas le cas. |
Accès au serveur = Toujours | Accès au serveur = Sur demande | Le paramètre (3) assure que le serveur est contacté uniquement d'un clic du bouton Refresh. |
Pas d'action pour OnPageRefresh | OnPageRefresh charge les données de BD depuis le serveur | Dans (3), les données de BD sont chargées depuis le serveur lors de l'actualisation de la page. Le bouton Refresh est activé uniquement lorsqu'une action est définie pour un événement. |
Le paramètre Charger des données
La raison pour laquelle (2) contient des données téléchargées tandis que (3) n'en a pas est dû au paramètre Charger des données, qui est attribué à la valeur À première utilisation dans (2) et à Pas automatiquement dans (3). Dans (2), les données sont chargées quand la solution démarre.
Le paramètre Accès au serveur
Le paramètre Accès au serveur (Toujours, Sur demande, ou Jamais) n'affecte pas le téléchargement des données au démarrage de la solution (qui dépend du paramètre Charger des données). Mais le paramètre Accès au serveur vous laisse décider quand le serveur sera contacté. Le paramètre Sur demande vous donne plus de contrôle du design et du processus de communication. Par exemple, dans (3), les données de la table sont téléchargées depuis le serveur uniquement si vous avez activé le bouton Refresh d'un clic. Dans le design, ceci est spécifié en définissant l'ensemble des actions pour l'événement OnPageRefresh :
1.Recharger la source de page $DB1 depuis le serveur. Le serveur est contacté et les données sont téléchargées.
2.Supprimer les nœuds de ligne de l'arborescence $PERSISTENT. Il s'agit d'une étape préparatoire d'ajout aux $PERSISTENT nœuds de ligne de $DB1 qui viennent d'être mis à jour (voir l'étape précédente). Veuillez noter que les données sont supprimées uniquement de la source de page $PERSISTENT sur le client ; la base de données sur le serveur n'est pas affectée.
3.Mettre à jour le nœud racine persistent de l'arborescence avec les nœuds de ligne de $DB1 qui viennent d'être mis à jour. Ceci est requis car ce sont les nœuds de la source de page $PERSISTENT (et non ceux de $DB1) qui sont affichés dans la table (voir l'encadrement vert dans la capture d'écran ci-dessous).
Le point à noter est que dans (3), le serveur est accédé et les données téléchargées uniquement lorsque l'action Recharger est déclenchée.