Passage de Paramètres avec HttpURLConnection

Avec l'ancien Apache trucs obsolètes de l'API de 22 ans, je suis enfin en train de contourner la mise à jour de mon réseau choses.

À l'aide de openConnection() semble assez simple. Cependant, je n'ai pas vu un bon exemple pour envoyer des paramètres.

Comment puis-je mettre à jour ce code?

        ArrayList<NameValuePair> param = new ArrayList<NameValuePair>();
        param.add(new BasicNameValuePair("user_id",String.valueOf(userId)));
        httpPost.setEntity(new UrlEncodedFormEntity(param));

Maintenant que NameValuePair et BasicNameValuePair sont également déconseillés.

EDIT: de Mon côté serveur php code ne faut pas s'attendre JSON paramètres et je ne peux pas tout d'un coup commutateur en raison pour les utilisateurs existants -- de sorte qu'un non-réponse JSON est recommandé.

EDIT2: j'ai juste besoin de Cible Android 4.1+ pour le moment.

si vous voulez maintenir minSdk version , c'est peut-être pas de problème à utiliser des méthodes obsolètes.
Bien que je n'ai besoin de cibler Android 4.1+ pour le moment, si il y a une solution qui s'adapte à tous, et n'utilise pas obsolète choses, c'est ce que je voudrais faire. Aussi, je suis le trouble obsessionnel-compulsif, je n'aime pas les lignes passant par mon code me disant les choses sont obsolètes..
Vous pouvez utiliser les annotations comme @SuppressLint ou ` @TargetApi(22) pour utiliser les plus récentes de la bibliothèque, et l'utilisation @suppresswarnings au clair warnints. Je pense que ce serait pas une mauvaise décision.
Je sais, je sais, je n'aime pas non plus. 😀 en général quelque chose est déconseillé pour une raison, donc je voudrais mettre à jour lorsque cela est possible. Et dans ce cas, Google a recommandé cette modification comme il y a 3 ans.
Je déteste le tromper avec ce code, mais il est parfois inévitable. J'espère que vous trouverez votre réponse, bonne chance!

OriginalL'auteur KickingLettuce | 2015-03-31