IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Webservices et Android, mais comment ça marche ?


Sujet :

Android

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 52
    Points : 30
    Points
    30
    Par défaut Webservices et Android, mais comment ça marche ?
    Bonjour à tous,

    Contexte :

    Je me lance dans le développement, un peu fou, d'une télécommande universelle pour Sony Tablet S (donc sous Android) afin de piloter (dans un premier temps) mon Media Player (DVico Tvix Xroid A1) qui tourne lui aussi sous Android et accessible en WiFi.

    Vous trouverez des détails sur sur le projet en allant sur mon blog.

    Problématiques :

    Je ne suis pas un expert en Java et Android, mais j'arrive cependant à développer 2 ou 3 petites bidouilles.

    • Je voudrais créer une App Android (plus exactement un service local) hébergée par Xroid et capable de charger des MP3 qui se trouvent dans le répertoire ..\Mes musiques\ de Xroid. Ce service exposerait des méthodes du type lire, arrêter ou liste MP3 disponibles...
    • Xroid recevrait donc les ordres de Tablet S via appel à ses webservices exposés par Xroid. L'App Client disposerait bien entendu d'une IHM permettant à l'utilisateur de faire son choix de musique et d'envoyer les ordres à Xroid..c'est simple non !?


    Mes questions :
    1. Où puis-je trouver un tuto suffisemment complet et détaillé qui explique clairement et pas à pas comment implémenter des webservices sous Android (même en anglais) ?
    2. Pas bien compris la différence entre SOAP et REST, mais il semble que REST soit plus à la mode et plus simple à mettre en oeuvre ; me confirmez-vous cette impression ?
    3. Je saurais développer sous Android un service local hebergé par Xroid, mais comment faire en sorte que ce service puisse être adressable via des webservices (j'imagine qu'un App Android doit être architecturée d'une certaine façon pour implémenter le protocole REST ou SOAP !?) ?


    D'avance, je vous remercie pour tous les conseils que vous pourrez m'apporter tout au long de ce projet fou...fou !

    A très bientôt ici ou sur mon blog.


  2. #2
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Je peux juste répondre entre SOAP et REST....

    REST est la base de HTTP (HTTP est basé sur REST). L'idée de REST est profondément orientée objets, dans le sens ou chaque URI spécifie un objet, qui peut avoir une plusieurs méthodes associées... Par exemple:

    GET /myvideos => retourne une liste des videos
    GET /myvideos/28993 => retourne la video #28993
    POST /myvideos => rajoute une nouvelle video
    PUT /myvideos/28993 => modifie la video #28993
    DELETE /myvideos/28993 => supprime la video #28993
    PLAY /myvideos/28993 => joue la video #28993

    L'interêt est multiple:
    • Facile à gérer coté serveur.
    • Très léger
    • Orienté objet

    Les inconvénients:
    • Pas du tout typé
    • Pas d'API simple coté client.

    Souvent le "GET" permet de choisir le format de sortie (JSON, XML, XLS, CSV, ...). Et afin de permettre une compatibilité avec les "form" HTML, le POST permet de spécifier la "vraie" commande (POST /myvideos/28993?cmd=PLAY par exemple).


    Le SOAP est orienté fonctions... L'URI spécifie un service qui possède une liste des fonction... Un "GET" sur cette URI permet de récupérer la signature de ces fonctions, et ainsi construire dynamiquement une API (WSDL). Les "POST" sur cette URI doivent contenir une "enveloppe" SOAP (XML) pour appeler les fonctions avec les bons paramètres... La réponse est elle aussi contenue dans une "enveloppe" SOAP (XML) et permet de construire l'objet de retour de la fonction (ou l'exception à lever le cas échéant).

    Les interêts:
    • Fort typage.
    • API dynamiquement généré coté client avec intégration complète (simples appels de fonctions) coté Java.
    • Gestion des exceptions.

    Les inconvénients:
    • Un gros payload (XML-RPC) pour pas grand chose.
    • Orienté fonctions.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 52
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par nicroman Voir le message
    Je peux juste répondre entre SOAP et REST....
    Et c'est déjà beaucoup nicroman...merci pour ce prompt éclaircissement.
    Je continue à m'instruire sur le sujet via les tutos que je trouve.

    N'hésitez pas à consulter mon blog pour en savoir davantage sur mon projet

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 52
    Points : 30
    Points
    30
    Par défaut
    Re...,

    Le fruit de mon butinage tous azimut me révèle qu'il serait possible d'implémenter la technique des Sockets. J'ai trouvé un rapide tuto ici.

    Quelqu'un pourrait-il me dire si je suis dans la bonne direction ?

    Merci d'avance pour vos conseils.

    Rappel : Pour en savoir plus sur mon projet, vous pouvez vous rendre sur mon blog

  5. #5
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Reste à savoir à quel niveau tu veux implémenter ton protocole de communication.... et qui fait le serveur.... il y a fort peu de chances pour que ce soit l'appareil android (le lien que tu as montré est exactement cela un serveur android).

    XML/RPC ===> HTTP ===> TCP ===> IP ===> (3G/WIFI)

    Tu peux faire donc ton protocole au niveau TCP (sockets stream), au même au niveau UDP (sockets datagram), ou encore au niveau IP (mais je crois qu'il y a pas mal de restrictions dans Android pour les 'raw' sockets).

    Tu peux aussi le faire au niveau HTTP (REST)... Avec toute la gestion des connections / redirections déjà implémentées. Mais à toi de gerer les erreurs d'appels (paramètres) et de retour...

    Tu peux enfin le faire au niveau XML/RPC... Avec absolument tout de géré...
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 168
    Points : 212
    Points
    212
    Par défaut
    mon Media Player (DVico Tvix Xroid A1) qui tourne lui aussi sous Android et accessible en WiFi.
    Donc tu peux ajouter des applications Android sur ton Media Player ?

    Si oui, tu peux essayer d'installer un webserver dessus. Et si ça marche (bon c'est pas facile de le créer déjà le webserver), ce sera accessible pour tous via un navigateur et ce serait encore mieux. (Je pense que le webserver est plus abordable, enfin c'est que mon avis).

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 52
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par pitbull78 Voir le message
    Donc tu peux ajouter des applications Android sur ton Media Player ?
    Oui, je peux ajouter des applications Android sur le Xroid. Donc je pense que je vais développer et installer sur Xroid une application de type jukebox qui écoute les ordres de la tablette via un socket.

    Citation Envoyé par pitbull78 Voir le message
    ...tu peux essayer d'installer un webserver dessus...
    Beh justement mon ancien Media Player (DVico Tvix 6600N) proposait déjà une interface web propriétaire et pas très ergonomique.

    Je souhaiterais éviter le web 100% car à mon sens, une application Client/Serveur avec un véritable client lourd installé sur la tablette me semble plus facile à développer et permet d’obtenir des IHM plus ergonomiques.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 46
    Dernier message: 04/01/2007, 19h02
  2. [MFC] list box : comment ça marche
    Par runn2 dans le forum MFC
    Réponses: 4
    Dernier message: 28/01/2004, 12h36
  3. [SYNEDIT] -> Comment ça marche ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2004, 19h11
  4. [TP][Turbo Vision] comment ça marche ??
    Par Costello dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 05/08/2003, 00h24
  5. [update][req. imbriquee] Comment ca marche ??
    Par terziann dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/07/2003, 12h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo