HttpClient won't impor di Android Studio
Saya memiliki kelas sederhana yang ditulis dalam Android Studio:
package com.mysite.myapp;
import org.apache.http.client.HttpClient;
public class Whatever {
public void headBangingAgainstTheWallExample () {
HttpClient client = new DefaultHttpClient();
}
}
dan dari ini saya dapatkan berikut compile time error:
Tidak bisa menyelesaikan simbol HttpClient
Isn't HttpClient
termasuk dalam Android Studio SDK? Bahkan jika tidak, saya menambahkan ke saya Gradle membangun seperti ini:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'org.apache.httpcomponents:httpclient:4.5'
}
Dengan atau tanpa kompilasi terakhir line, kesalahan yang sama. Apa yang saya hilang?
345
22
HttpClient
tidak didukung lagi di sdk 23. Anda harus menggunakanURLConnection
atau downgrade ke sdk 22 (compile 'com.android.dukungan:appcompat-v7:22.2.0'
)Jika anda membutuhkan sdk 23, menambahkan ini untuk anda gradle:
Anda juga dapat mencoba untuk men-download dan termasuk HttpClient jar langsung ke proyek anda atau gunakan OkHttp sebaliknya
HttpClient dipensiunkan dalam API Level 22 dan dihapus dalam API Level 23. Anda masih dapat menggunakannya dalam API Level 23 dan seterusnya jika anda harus, namun yang terbaik adalah untuk pindah ke metode yang didukung untuk menangani HTTP. Jadi, jika anda're kompilasi dengan 23, tambahkan ini di build.gradle:
TejaDroid's jawaban di link di bawah ini membantu saya . https://stackoverflow.com/questions/32340629/cant-import-org-apache-http-httpresponse-in-android-studio
Untuk menggunakan Apache HTTP untuk SDK Tingkat 23:
Top level membangun.gradle - /membangun.gradle
Pemberitahuan dari Android studio tentang gradle update:
Modul tertentu yang membangun.gradle - /app/build.gradle
Coba ini bekerja untuk saya Tambahkan ketergantungan ini untuk membangun anda.gradle
1 - download Apache file jar (sebagai jawaban ini) 4.5.zip file dari: https://hc.apache.org/downloads.cgi?Preferred=http%3A%2F%2Fapache.arvixe.com%2F
2 - buka zip copy file jar ke folder libs. Anda dapat menemukannya jika anda pergi ke bagian atas proyek di mana ia mengatakan "Android" anda'll menemukan daftar ketika anda klik. Jadi,
,Kemudian dimasukkan ke dalam botol ada.
3 - Dalam membangun.gradle (Modul: aplikasi) tambahkan
di
4 - Di jawa kelas tambahkan impor ini:
HttpClient tidak didukung lagi di sdk 23. Android 6.0 (API Level 23) rilis menghilangkan dukungan untuk Apache HTTP client. Anda harus menggunakan
dan juga tambahkan kode di bawah ini cuplikan dalam ketergantungan anda :
//http solusi akhir untuk layanan web (termasuk meng-upload file)
Hal ini juga akan membantu anda saat anda gunakan MultipartEntity untuk meng-upload File.
di API 22 mereka menjadi usang dan API 23 mereka mereka benar-benar dihapus, solusi sederhana jika anda don't perlu semua barang-barang mewah dari tambahan baru adalah untuk hanya menggunakan .file jar dari apache yang terintegrasi sebelum API 22, tapi seperti yang dipisahkan .file jar:
Jika anda ingin mengimpor beberapa kelas seperti :
Anda dapat menambahkan baris berikut dalam membangun.gradle (Gradle dependensi)
Anda hanya dapat menambahkan ini ke Gradle dependensi:
Android 6.0 (API Level 23) rilis menghilangkan dukungan untuk Apache HTTP client. Oleh karena itu anda tidak dapat menggunakan perpustakaan ini langsung di API 23. Tapi ada cara untuk menggunakannya. Tambahkan useLibrary 'org.apache.http.warisan' dalam membangun.gradle file seperti di bawah ini-
Jika ini tidak bekerja, anda mungkin berlaku berikut hack-
– Copy org.apache.http.legacy.jar yang di /platform/android-23/opsional path Android SDK direktori proyek anda aplikasi/libs.
– Sekarang Tambahkan mengkompilasi file('libs/org.apache.http.legacy.jar') dalam dependensi{} bagian dari membangun.gradle.
ApacheHttp Klien dihapus di v23 sdk. Anda dapat menggunakan HttpURLConnection atau pihak ketiga Http Client seperti OkHttp.
ref :
https://developer.android.com/preview/behavior-changes.html#behavior-apache-http-client
Jika anda membutuhkan sdk 23, menambahkan ini untuk anda gradle:
Hanya gunakan ini :-
Anda harus menambahkan satu baris
dalam membangun.gradle(Modul: aplikasi), misalnya
HttpClient tidak didukung di sdk 23 dan 23+.
Jika anda perlu menggunakan ke sdk 23, tambahkan kode di bawah ini ke gradle:
Bekerja untuk saya. Semoga berguna untuk anda.
API yang target apakah anda dalam proyek anda?
AndroidHttpClient
hanya untuk API Level 8 <. dan silakan lihat di sininikmati kode anda:)
Seperti yang disebutkan sebelumnya,
org.apache.http.klien.HttpClient
tidak didukung lagi di:SDK (API level) #23.
Anda harus menggunakan
jawa.net.HttpURLConnection
.Jika anda ingin membuat kode anda (dan hidup) lebih mudah bila menggunakan
HttpURLConnection
, di sini adalahWrapper
dari kelas ini yang akan membiarkan anda melakukan operasi sederhana denganMENDAPATKAN
,POST
danMENEMPATKAN
menggunakanJSON
, seperti misalnya, melakukanHTTP MENEMPATKAN
.Merasa bebas untuk menggunakannya.
Tambahkan dua baris di bawah dependensi
kemudian
di bawah android
Paste anda .file jar di "libs" dalam proyek anda. Kemudian di gradle tambahkan baris ini di build.gradle(Modul:aplikasi)