Не удается разрешить символ HttpGet, HttpClient, HttpResponce в Android Studio

Я просто копирую все файлы jar Http но Android Studio импортировать все эти файлы jar. Он дает ошибку: Cannot resolve symbol HttpGet,HttpClient,HttpResponse .

Мой файл действия находится здесь: –

 public class MainActivity extends AppCompatActivity { ArrayList productslist; ProductAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); productslist = new ArrayList(); new JSONAsyncTask().execute("http://opencart.codeniques.com/myshop/?route=feed/web_api/products&id=60&key=test123"); ListView listView = (ListView)findViewById(R.id.list); adapter = new ProductAdapter(getApplicationContext(),R.layout.row,productslist); listView.setAdapter(adapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { Toast.makeText(getApplicationContext(),productslist.get(position).getName(),Toast.LENGTH_LONG).show(); } }); } class JSONAsyncTask extends AsyncTask{ ProgressDialog dialog; @Override protected void onPreExecute() { super.onPreExecute(); dialog = new ProgressDialog(MainActivity.this); dialog.setMessage("Loading, please wait"); dialog.setTitle("Connecting server"); dialog.show(); dialog.setCancelable(false); } @Override protected Boolean doInBackground(String... params) { try{ HttpGet httppost = new HttpGet(params[0]); HttpClient httpclient = new DefaultHttpClient(); HttpResponse response = httpclient.execute(httppost); int status = response.getStatusLine().getStatusCode(); if(status == 200){ HttpEntity entity = response.getEntity(); String data = EntityUtils.toString(entity); JSONObject jsono = new JSONObject(data); JSONArray jarray = jsono.getJSONArray("products"); for (int i = 0; i < jarray.length(); i++) { JSONObject object = jarray.getJSONObject(i); Product actor = new Product(); actor.setId(object.getString("id")); actor.setName(object.getString("name")); actor.setDescription(object.getString("description")); actor.setHref(object.getString("href")); actor.setPrice(object.getString("pirce")); actor.setImage(object.getString("thumb")); actor.setSpecial(object.getString("special")); actor.setRating(object.getString("rating")); productslist.add(actor); } return true; } }catch (JSONException e){ Log.e("Error :",e.getMessage()); }catch (ParseException e){ Log.e("Error :",e.getMessage()); }catch (IOException e){ Log.e("Error :",e.getMessage()); }catch (Exception e){ Log.e("Error :",e.getMessage()); } return false; } @Override protected void onPostExecute(Boolean aBoolean) { dialog.cancel(); adapter.notifyDataSetChanged(); if(aBoolean == false){ Toast.makeText(getApplicationContext(), "Unable to fetch data from server", Toast.LENGTH_LONG).show(); } } }} 

и здесь мой gradle здесь: –

 apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "22.0.1" defaultConfig { applicationId "android.catalyst.com.newjsonarray" minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' }}} dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.0.1' compile 'com.android.support:design:23.0.1'} 

Просто добавьте это в свои зависимости

 compile 'org.apache.httpcomponents:httpcore:4.4.1' compile 'org.apache.httpcomponents:httpclient:4.5' 

в заключение

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.0.1' compile 'com.android.support:design:23.0.1' compile 'org.apache.httpcomponents:httpcore:4.4.1' compile 'org.apache.httpcomponents:httpclient:4.5' } 

редактировать

А также добавьте этот код:

  android { useLibrary 'org.apache.http.legacy' } 

Надеюсь, это поможет вам.

HttpClient больше не поддерживается в sdk 23. Вы должны использовать URLConnection или downgrade для sdk 22 (компиляция «com.android.support:appcompat-v7:22.2.0»)

Если вам нужен sdk 23, добавьте это в свою gradleу:

В зависимостях добавьте:

 compile 'org.apache.httpcomponents:httpcore:4.4.1' compile 'org.apache.httpcomponents:httpclient:4.5' 

а также добавьте это

 android { useLibrary 'org.apache.http.legacy' } 

HttpClient устарел на уровне API 22 и удалился в API-уровне 23. Вы должны использовать URLConnection .

Удалите все файлы jar Http из папки libs и добавьте ниже зависимости в файле gradle:

 compile 'org.apache.httpcomponents:httpclient:4.5' compile 'org.apache.httpcomponents:httpcore:4.4.3' 

Благодарю.

добавьте эти коды в свои зависимости. Это будет работать.

 compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2' 
 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.0' compile 'com.android.support:design:23.1.0' compile 'com.android.support:cardview-v7:23.1.0' compile 'com.android.support:recyclerview-v7:23.1.0' compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2' } 

Google официально предлагает разработчикам использовать библиотеку Volley для создания сетей, связанных с этим. Итак, чтобы переключиться на Volley, Happy code

Вы просто перестроили свой проект

 compile fileTree(dir: 'libs', include: ['*.jar']) 

Это просто в SDK 23, Httpclient и другие устарели. Вы можете исправить это, изменив целевую версию SDK, как показано ниже:

 apply plugin: 'com.android.application' android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "vahid.hoseini.com.testclient" minSdkVersion 10 targetSdkVersion 22 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.1.1' } 

Для меня ниже

Найдите org.apache.http.legacy.jar который находится в Android/Sdk/platforms/android-23/optional, добавьте его в свою зависимость.

Источник

Удалите все файлы jar из Http из папки «libs» и добавьте зависимости ниже в файле gradle:

 compile 'org.apache.httpcomponents:httpclient:4.5' compile 'org.apache.httpcomponents:httpcore:4.4.3' 

или

 useLibrary 'org.apache.http.legacy' 

добавив, что это сработало для меня.

 compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2' 
  • Ошибка Gradle 0.9. + / 0.9.2: невозможно загрузить class 'com.android.builder.testing.api.DeviceProvider'
  • Ошибка: Конфигурация с именем «по умолчанию» не найдена в Android Studio
  • Как фильтровать logcat в Android Studio?
  • Android Studio 3.1 EditText StackOverflowError
  • Android-студия logcat ничего не показывает
  • Ошибка манифеста слияния
  • Действительно ли «shouldOverrideUrlLoading» действительно устарел? Что я могу использовать вместо этого?
  • Высота вложенного ресайклера не обтекает его содержимое
  • Использование Android Studio с Vuforia
  • package android.support.v4.app не существует; в Android-студии 0.8
  • Android Studio с двумя файлами манифеста
  • Давайте будем гением компьютера.