2010-07-21 5 views
0

J'essaie d'écrire une application Android pour me connecter à un service Web existant. Je suis assez nouveau pour les services web en général, à part ce que j'ai fait avec ces premiers services web (écrits avec JSPs, Struts 1.x et JAVA).Comment Android peut se connecter avec un service à distance

Ce service Web est connecté à une base de données de stockage de documents. L'utilisateur se connecterait d'abord au service, puis en utilisant les paramètres de recherche (titre du document, type, etc.), l'utilisateur afficherait une liste de documents éventuellement pertinents. L'utilisateur choisirait un document spécifique de cette liste, et le service diffuserait alors l'intégralité du document (fichier pdf) à l'utilisateur pour visualisation.

Quelles sont les méthodes disponibles pour Android où je peux faire une demande avec des paramètres spécifiques, et être capable d'analyser une réponse? La seule chose que je connaisse est HTTP, mais mon chef de projet (je suis stagiaire d'été) laisse entendre qu'il y en a d'autres disponibles. Je ne suis pas sûr de savoir par où commencer.

Merci.

Répondre

0

J'ai utilisé la classe HttpClient. Cela fonctionne, sauf que maintenant j'ai du mal à obtenir mes messages HTTP GET assez court. La compression Base64 ne suffit pas. Merci à tous pour vos réponses utiles.

0

Est-ce un web service ou un web application? Si c'est un service Web de bonne foi, il devrait prendre en charge SOAP ou REST, pour lesquels il existe Java libraries, mais aucun n'est inclus dans Android jusqu'à présent. Si c'est une application web (juste une interface utilisateur basée sur html), vous allez devoir regarder le web scraping de quelque sorte - j'espère non, pour votre bien et pour la maintenabilité future. Peut-être devriez-vous demander à votre chef de projet d'être un peu plus disponible!

+0

L'API de visualisation de document a une classe de service SOAP englobante qui peut être appelée pour exécuter la requête dans la base de données. Actuellement, il y a des pages Web qui sont utilisées pour l'interface utilisateur. l'interface utilisateur transmet les paramètres au code JAVA qui communique avec la base de documents via SOAP. Je souhaite que l'application Android communique directement avec la base de documents. – komidore64

0

Vous pouvez également trouver que l'envoi de messages binaires sur des connexions socket est une autre option - plus opaque et moins d'octets utilisés. Voir Google Protocol Buffers pour un exemple.

+0

Cela m'a donné une idée. Merci! Je vais voir comment ça va et revenir bientôt. – komidore64

0

Vous devriez demander un document ou une spécification d'API pour tout ce à quoi vous allez vous connecter depuis l'application Android.

Pour un crédit supplémentaire (j'aime toujours voir l'initiative des stagiaires en ingénierie), vous pouvez vous porter volontaire pour rédiger le document ou pour le modifier au besoin.

Il arrive souvent que les api docs soient obsolètes ou n'aient jamais vraiment été utilisés. (Surtout si la même personne ou l'équipe a écrit le serveur et le client existants.)

Questions connexes