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

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

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

 public class MainActivity extends AppCompatActivity { ArrayList<Product> productslist; ProductAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); productslist = new ArrayList<Product>(); 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<String,Void,Boolean>{ 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'} 

Solutions Collecting From Web of "Не удается разрешить символ HttpGet, HttpClient, HttpResponce в Android Studio"

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

 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 (compile 'com.android.support:appcompat-v7:22.2.0')

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

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

 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'