Rumah >Java >javaTutorial >Apakah Alternatif Terbaik kepada org.apache.http.entity.FileEntity yang ditamatkan dalam Android 6 dan Ke Atas?

Apakah Alternatif Terbaik kepada org.apache.http.entity.FileEntity yang ditamatkan dalam Android 6 dan Ke Atas?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-28 02:38:11312semak imbas

What are the Best Alternatives to the Deprecated org.apache.http.entity.FileEntity in Android 6 and Above?

org.apache.http.entity.FileEntity Penamatan pada Android 6 (Marshmallow): Panduan Komprehensif

Dengan keluaran Android Marshmallow , kelas org.apache.http.entity.FileEntity yang dihormati telah ditamatkan. Ini menyebabkan pembangun mencari alternatif untuk mengendalikan muat naik fail.

Notis Penamatan

Bahagian kod berikut, yang biasa digunakan untuk muat naik fail, tidak akan berfungsi lagi pada Android 6 dan ke atas:

HttpClient httpClient = new DefaultHttpClient();
File file = new File(attr.Value);
String url = server_url;
HttpPost request = new HttpPost(url);
FileEntity fileEntity = new FileEntity(file, "image/png");
request.setEntity(fileEntity);
HttpResponse response = httpClient.execute(request);
String output = getContent(response.getEntity().getContent());

Alternatif Penyelesaian

Menggantikan FileEntity dengan kaedah lain boleh menjadi lebih kompleks, tetapi terdapat beberapa pilihan berdaya maju yang tersedia:

HttpURLConnection

Terbina -dalam kelas Java HttpURLConnection boleh digunakan untuk muat naik fail, tetapi APInya lebih verbose dan memerlukan lebih banyak baris kod. Berikut ialah contoh menggunakan HttpURLConnection:

// Implement your own HTTP file upload logic here

Apache HttpClient untuk Android

Apache menyediakan perpustakaan HttpClient yang berasingan untuk Android, yang termasuk penggantian untuk FileEntity. Menggunakan pustaka ini memerlukan kebergantungan tambahan, tetapi ia menawarkan API biasa untuk mengendalikan muat naik fail.

OkHttp

OkHttp ialah perpustakaan pihak ketiga yang popular untuk rangkaian HTTP dalam Android. Ia menampilkan API yang bersih dan ringkas yang memudahkan untuk mengendalikan muat naik fail. Berikut ialah contoh menggunakan MultipartBuilder OkHttp:

// Implement your own OkHttp file upload logic here

Pertimbangan Lain

CompileSdkVersion

Menukar kehendak compileSdkVersion kepada 2SdkVersion benarkan apl anda menyusun menggunakan FileEntity, tetapi adalah penting untuk menangani sebab asas penamatannya.

Perpustakaan Alternatif

Selain pilihan yang dibincangkan di atas, terdapat perpustakaan lain yang tersedia untuk rangkaian HTTP dalam Android, seperti Tampar, Retrofit dan AndroidAsync. Perpustakaan ini menawarkan pelbagai ciri dan kelebihan, bergantung pada keperluan khusus anda.

Atas ialah kandungan terperinci Apakah Alternatif Terbaik kepada org.apache.http.entity.FileEntity yang ditamatkan dalam Android 6 dan Ke Atas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn