Lorsque l’on démarre le client, on reçoit un écran comme:
Sur la barre de titre, vous avez le type de connexion (Wifi ou Mobile) et l'adresse IP locale de cette interface réseau. Dans le milieu de l'écran vous avez un bouton à bascule et juste en dessous la liste des serveurs de médias. Un clic sur le bouton à bascule donne la liste de tous les périphériques UPnP trouvés sur ce réseau. Si vous sélectionnez un autre appareil qu’ un serveur de médias, vous pouvez lire son texte de présentation XML.
Lorsque l’on sélectionne un serveur dans la liste, en cliquant dessus,on obtient un message disant que l’on
collecte les données, puis un second écran apparait, si le serveur concerné distribue des données.
On peut retourner de ce second écran, vers la liste des serveurs, en cliquant sur la petite maison dans le coin supérieur droit. Sinon, sur le second écran, on trouve au milieu la liste des données exportées par catégorie. On peut visualiser une liste en cliquant sur le bouton correspondant. Si on veut sélectionner tous les fichiers de la liste, il faut la sélectionner avant de pousser sur le bouton.
Vous pouvez sélectionner et désélectionner des fichiers avec la case associée. Cliquer sur le nom du fichier donne le même résultat, car sur les smartphones la case est petite.
Lorsque des fichiers sont sélectionnés dans une liste, on peut les « jouer » si ils proviennent d’un serveur UPnP (testé avec UShare, Mediatomb, exporte-le, …) ou les prendre pour faire une copie locale si ils viennent d’un serveur exporte-le (protocol HTTP). On peut nettoyer l’écran de la liste des fichiers affichée avant de passer à une autre liste (à l’aide de l’icône « petite brosse »), mais ce n’est pas indispensable.
Les fichiers vidéos et audios, sont joués à l’aide du « media player » natif d’android. Il ne supporte que les formats 3gpp, webm et mp4 pour les videos, et m4a, ogg et mp3 pour les fichiers audios. Les images (photos) sont affichées à l’aide d’une simple « webview ».
Les vidéos sont affichées en mode paysage plein écran uniquement, sans bouton. Vous devez cliquer sur l'écran pour obtenir les boutons de contrôle (pause, stop, ..), et à nouveau pour enlever les boutons. Les images sont également affichées en mode plein écran sans bouton, avec un délai de 3 secondes. Vous pouvez interrompre le spectacle juste en cliquant dans le milieu de l'image, puis un retour en arrière en cliquant sur le côté gauche et à l'image suivante sur la droite. Un clic long de plus d'une seconde arrête le spectacle.
En ce qui concerne les livres, je n’ai jamais envisagé d’écrire une application pour ce faire. J’ai donc posé la question « comment faire » au support d’application spécialisée. Le support de qPDFViewer, m’a suggéré d’utiliser leur produit en l’appelant par une « View intent ». Cette action démarre l’application de lecture comme une tâche nouvelle, ce qui provoque à la fin de la séquence de lecture, une ré-initialisation complète du client exporte-le. L’utilisateur se retrouve donc, après lecture, avec la page affichant la liste des serveurs, et plus celle avec la liste des fichiers du serveur sélectionné.
Cette méthode a été essayée avec d’autres produits de lecture d’eBooks. Pour l’instant le client d’exporte-le,
supporte qPDFViewer, Acrobat Reader et FBReader avec son plugin PDF, pour a lecture de PDF.
Pour la lecture des autres formats de livres, il n’y a pour l’instant que FBReader , CoolReader et ZoReader qui sont supportés.
Bien entendu, nous allons continuer d’essayer d’autres produits, et les ajouter dès que les tests seront positifs. Il faut pour cela trouver les lecteurs capables de lire un livre en ligne, à partir d’un URL, avant de l’ajouter à la librairie. Le client exporte-le peut supporter jusque 4 programmes de lecture de PDF, et 4 lecteurs de livres en autres formats. Si plusieurs lecteurs sont disponibles, une fenêtre de choix multiples, est présentée à l’utilisateur, avant de démarrer la séquence de lecture.
Pour lire les fichiers eBooks à distance, on peut utiliser une autre technique. Si on dispose d’un produit de lecture, supportant les catalogues « OPDS » (il y en a plusieurs), on peut démarrer ce produit puis pointer vers le catalogue de son serveur exporte-le, quelque chose comme http://192.168.1.47:8192/opds, en ajoutant «/opds» à l’URL de ce serveur sur le réseau Wifi (ou l'URL externe so on est sur Internet). Cette technique a été validée pour l’instant, avec Moon Reader, et FBReader. Elle devrait fonctionner avec plusieurs autres lecteurs.
De par sa conception, le client exporte-le utilise 4 catégories de fichiers: les vidéos, les audios, les images
et les livres. Ceci se traduit au niveau UPnP, par seulement 4 «containers» pour ces «items». Les serveurs
UPnP «normaux», travaillent tout à fait autrement, définissant le plus souvent, un grand nombre de
«containers», en fonction du type de fichiers, du nom de la «directory» sur le serveur, de l’année
de publication, de l’auteur, … Le même «item» apparait plusieurs fois dans des «containers» différents…
Lorsque le client exporte-le utilise un serveur UPnP de ce type, il doit lire l’entièreté des «containers»,
éliminer les «doubles» en construisant des listes dans les catégories qu’il connait, pour finalement afficher
le résumé à l’écran. Ce processus consomme assez bien de mémoire (Heap memory) et cela prend du temps.