Comment exécuter des demandes de post http dans android

HTTP POST fait partie d`une classe HTTP obsolète comme Org.apache.http et androidhttpclient à partir de Android 5.1. Migrer votre code dans les classes httpurlConnection qui inclut la fonctionnalité d`affichage.HTTP POST est utilisé dans JAVA pour demander qu`un serveur Web spécifique reçoive et stocke des données soumises dans un formulaire de demande. Les données sont soumises et stockées dans des paires de noms de noms. Des exemples de paires incluent: Email-votre adresse e-mail- Nom d`utilisateur-Vos nom d`utilisateur et votre mot de passe - votre mot de passe.

Pas

Partie 1 de 2:
Création d`un objet d`essai et d`un objet httpurlConnection
1. Ajouter des autorisations sur Internet au manifeste Android. Le manifeste Android est un fichier XML qui fournit des informations importantes au système Android qui détermine la compatibilité des périphériques et l`accès aux fonctionnalités. Dans le "AndroidManifest.Fichier XML ", entrez la ligne suivante pour fournir un accès Internet.
 Android: Nom ="Android.autorisation.L`INTERNET" />
  • 2. Créer un bloc d`essai. En Java, une déclaration d`essai est un gestionnaire d`exception qui empêchera le programme de s`écraser s`il n`est pas en mesure d`effectuer une action. Comme cela nécessitera une connexion à un emplacement réseau, une déclaration d`essai attrape une exception s`il n`est pas en mesure d`établir une connexion. Vous pouvez ajouter ceci à une nouvelle méthode Java.
    Essayez {// Enter des instructions pouvant causer des exceptions}
  • 3. Construire des objets httpurlConnection et URL. Java est une langue orientée objet. Un objet est composé d`états et de comportements qui constituent une instance d`une classe. L`objet httpurlConnection envoie et reçoit des données sur Internet. Dans votre code, commencez votre nouvelle méthode en créant un objet URL et attribuez-lui une URL pour l`objet httpurlConnection à vous connecter à.
    URL URL = nouvelle URL ("http: // exemple.com / ") - httpurlConnection Client = (httpurlconnection) URL.openConnection ()-
  • Pour les meilleures pratiques, établissez les objets URL et httpurlConnection en dehors du bloc d`essai pour faciliter la prise d`exceptions.
  • URL URL = nouvelle URL ("http: // exemple.com / ") - httpurlConnection client = null-try {client = (httpurlconnection) URL.openConnection () -}
    Partie 2 de 2:
    Publier les exceptions de la demande de sortie et de la manutention
    1. Définir la méthode de la demande pour poster. Afin d`envoyer des informations au serveur, vous devez définir le type d`objet httpurlConnection sur la poteau et définir la sortie sur true à l`aide de SetDoOutput (). Utilisez la fonction SETReQuestProperty () pour définir une propriété de demande générale qui nécessite deux éléments, une clé avec une demande connue du serveur et une valeur contenue dans la clé correspondante.
    • La fonction SETREQUESTSPROPERTY () est utilisée comme étant l`en-tête de demande d`encodage d`acceptation pour désactiver la décompression automatique.
    client.SetrequestMethod ("Post") - Client.SetrequestProperty ("Key", "valeur") - Client.setdooutput (vrai)-
  • 2. Sortir le flux au serveur. Vous devez demander le flux de sortie sur le serveur afin de pouvoir écrire dans le flux de sortie ou la poteau, puis fermez et fermez le flux lorsque vous avez terminé.
    Sortie de sortiePostPost = nouveau bufferedOutoutPutStream (client.GetOutputStream ()) - Writetream (OutputPost) -OutputPost.Flush () - VersionPost.Fermer()-
  • Pour des raisons de performance, il est judicieux de laisser le serveur savoir à quel point le contenu sera grand en octets. La meilleure méthode est SetfixedlengthStreamingMode (int) lorsque la longueur du corps est connue, alors que SetChunkedStreamingMode (int) est utilisé si la longueur n`est pas connue. L`utilisation de l`une ou l`autre des méthodes précédentes fait valoir l`objet httpurlconnector de tamponner le corps complet en mémoire avant d`être transmis.
  • client.SetfixedlengthstreamingMode (sortiePost.getbytes ().longueur) -Client.sechunkedreamingmode (0)-
  • 3. Attraper des exceptions. Après la déclaration try, utilisez le bloc de capture pour rechercher une exception pour l`entrée et la sortie avec IoException, attrapez une erreur d`URL avec l`exception malformedurl et vérifiez si l`URL ne fournit pas de réponse à temps avec la SocketTimeException.
    Catch (erreur malformedurlexception) {// gère une URL incorrectement entrée} Catch (erreur SocketTimeOutException) {// poignette Timeout d`accès URL.} Catch (Erreur IoException) {// traite les erreurs d`entrée et de sortie}
  • 4. Déconnecter de l`URL. Une fois que vous avez terminé votre connexion URL, vous devrez vous déconnecter de l`URL. Assurez-vous de vérifier que vous êtes connecté à une URL avant de tenter de déconnecter.
    enfin {si (client != null) // Assurez-vous que la connexion n`est pas nulle.client.Déconnecter () -}
  • Conseils

    Choses que vous aurez besoin

    • Java IDE
    • Outils de développement Android (SDK, Émulateur, etc.)
    • Téléphone d`Android Developer ou autre appareil alimenté Android (facultatif pour les tests)
    • Connexion Internet (pour tester)
    Articles connexes