Publicité
+ Répondre à la discussion Actualité déjà publiée
Affichage des résultats 1 à 5 sur 5
  1. #1
    Responsable Android

    Avatar de Feanorin
    Inscrit en
    avril 2004
    Messages
    4 111
    Détails du profil
    Informations forums :
    Inscription : avril 2004
    Messages : 4 111
    Points : 7 690
    Points
    7 690

    Par défaut Accéder aux services Web via Android

    Bonjour,

    acesyde vous présente un nouveau tutoriel intitulé:

    Accéder aux services Web via Android
    http://Acesyde.developpez.com/tutori...vices-android/

    Ce tutoriel a pour but de vous présenter l'utilisation des services Web sous Android.
    Bonne lecture.

  2. #2
    Modérateur

    Homme Profil pro Nicolas Romantzoff
    Ingénieur systèmes et réseaux
    Inscrit en
    février 2007
    Messages
    3 682
    Détails du profil
    Informations personnelles :
    Nom : Homme Nicolas Romantzoff
    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 : 3 682
    Points : 6 381
    Points
    6 381

    Par défaut

    Salut !
    Voila un tutoriel qui manquait...

    Juste quelques remarques en vrac:
    • Non gestion de l'encoding de la réponse (en particulier le charset). Quid de UTF-8 ?
    • Disparition complète de la dernière exception après un Log.e, il faudrait passer l'exception en paramètre. A ce sujet, le return null pour signifier à l'appelant de getPoints() qu'une erreur est survenue est un peu trop léger... mais bon pourquoi pas.
    • L'InputStream n'est pas correctement géré (c'est une ressource, donc avoir son try { } finally { } en attendant Java7 et le try-with).
    • Dans certains cas (réponse en 401 par exemple), InputStream est null, il n' y a aucune raison du pourquoi ou du comment. Aucune exception n'est levée. sendRequest() et getPoints() retournent simplement null.
    • Seule une réponse 200 est acceptée... quid des réponses 201, 202, ... ?
    • La fonction sendRequest() envoie des "Exception", n'est-ce pas un peu "large" ? IOException serait plus approprié non ?
    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 Thomas
    Développeur
    Inscrit en
    octobre 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Nom : Homme Thomas
    Âge : 29
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : octobre 2009
    Messages : 25
    Points : 36
    Points
    36

    Par défaut

    Salut, une petite remarque : sauf modification récente, il me semblait que sous Android et ce depuis la version 3.x, il était impossible de faire une requête vers l'extérieur (réseau) sans threader la procédure ou sans utiliser le StrictMode (à destination des développeurs), ce qui est compréhensible en terme de séparation du rendu écran et des process en arrière plan qui, dans le cas de l'accès à un webservice, peuvent prendre du temps. Si c'est toujours le cas, il me semble que ce serait une bonne chose d'y faire référence, si ce n'est de modifier les sources présentées, qui correspondent à du code Java, n'ayant implicitement rien à voir avec Android (à part les Log.x). On peut en effet utiliser le code présenté directement si son utilisation est threadée, mais je pense que cela peut perdre les gens de ne pas en parler du tout (c'est du vécu, passage 2.x à 3.x douloureux en terme d'utilisation de webservice ).

  4. #4
    Membre chevronné

    Homme Profil pro Pierre-Emmanuel Mercier
    Ingénieur développement logiciels
    Inscrit en
    octobre 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Nom : Homme Pierre-Emmanuel Mercier
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : octobre 2006
    Messages : 70
    Points : 670
    Points
    670

    Par défaut

    @nicroman
    Merci pour tes remarques.
    J'ai voulu faire au plus simple pour éviter de perdre le lecteur, "UTF-8", gestion des erreurs etc... on a vite fait de noyer un paragraphe avec
    Mais c'est vrai que c'est une partie importante que j'aurais du traiter pour forcer les bonnes habitudes.

    @DrSnake
    Je n'ai pas mis la partie Frontale de l'application, juste le traitement de la connexion et de la réponse, bien entendu dans le CS il y a une AsyncTask.

    A l'avenir je rajouterais des compléments dans les tutoriaux suite à vos remarques.

    Merci

  5. #5
    Modérateur

    Homme Profil pro Nicolas Romantzoff
    Ingénieur systèmes et réseaux
    Inscrit en
    février 2007
    Messages
    3 682
    Détails du profil
    Informations personnelles :
    Nom : Homme Nicolas Romantzoff
    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 : 3 682
    Points : 6 381
    Points
    6 381

    Par défaut

    Citation Envoyé par DrSnake Voir le message
    Salut, une petite remarque : sauf modification récente, il me semblait que sous Android et ce depuis la version 3.x, il était impossible de faire une requête vers l'extérieur (réseau) sans threader
    Non c'était déjà interdit dans Android 1.x, mais comme certains développeurs ne comprenaient pas comment fonctionnent une UI (ou s'en foutaient royalement), à partir de 3.0 le système a commencé à émettre des exceptions... (un peu comme sur Windows, ou les programmes écrivaient leurs données dans program files).
    Le StrictMode est une catastrophe de programmation et permet juste de remplacer le "application closed" par un éventuel "ANR" (à mon avis pire encore que le forced-closed, il n'y a rien de plus gavant qu'un téléphone qui ne réponde pas).
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •