Maison > Java > javaDidacticiel > Comment remplacer org.apache.http.entity.FileEntity pour les téléchargements de fichiers sous Android 6 et supérieur ?

Comment remplacer org.apache.http.entity.FileEntity pour les téléchargements de fichiers sous Android 6 et supérieur ?

Susan Sarandon
Libérer: 2024-11-30 05:56:13
original
688 Les gens l'ont consulté

How to Replace org.apache.http.entity.FileEntity for File Uploads in Android 6 and Above?

La migration depuis org.apache.http.entity.FileEntity dans Android 6

La mise à niveau des applications vers Android 6 introduit des conflits avec l'organisation obsolète. bibliothèque apache.http. La classe FileEntity, précédemment utilisée pour le téléchargement de fichiers, n'est plus prise en charge. Les développeurs recherchent des solutions alternatives avec une mise en œuvre plus simple.

Une approche consiste à maintenir compileSdkVersion à 21, permettant aux applications de se compiler à l'aide de la classe FileEntity. Cependant, cette solution de contournement ne résout pas le problème de dépréciation et ignore les intentions de Google de s'éloigner de HttpURLConnection.

Par conséquent, les développeurs sont encouragés à explorer des bibliothèques alternatives.

Bibliothèques alternatives pour les fichiers Téléchargements

  • java.net.HttpUrlConnection : Java classique intégré HttpURLConnection fournit une alternative, bien qu'avec une API moins conviviale.
  • HttpClient d'Apache pour Android : Le packaging Apache indépendant offre un HttpClient pour Android.
  • OkHttp (Recommandé) : Comprend une API conviviale pour la publication de fichiers et les téléchargements de formulaires en plusieurs parties.
  • AndroidAsync : Un client HTTP et WebSocket asynchrone bibliothèque.

Exemple OkHttp pour le téléchargement de fichiers

OkHttp propose une API simple pour les téléchargements de fichiers :

MultipartBody multipartBody = new MultipartBody.Builder().setType(MultipartBody.FORM)
        .addFormDataPart("image", "filename.png", RequestBody.create(MediaType.parse("image/png"), file))
        .build();

Request request = new Request.Builder().url(server_url).post(multipartBody).build();
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal