java - modal - No se puede resolver el símbolo NameValuePair
popup java (7)
Agrega esto:
compile''org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2''
en la aplicación basada build.gradle lo recogerá
En mi proyecto recibí un error:
Error al recuperar el elemento principal: no se encontraron recursos que coincidan con el nombre dado ''android: TextAppearance.Material.Widget.Button.Inverse''.
Entonces traté de arreglarlo usar esto:
compileSdkVersion 23
Pero entonces me equivoqué:
no se puede resolver el símbolo NameValuePair android
¿Cómo arreglar este error?
Estaba enfrentando el mismo problema. Para resolverlo, utilicé:
import cz.msebera.android.httpclient.NameValuePair;
import cz.msebera.android.httpclient.message.BasicNameValuePair;
y también agregó
compile fileTree(dir: ''libs'', include: [''*.jar''])
compile ''com.android.support:appcompat-v7:23.1.1''
compile fileTree(include: [''*.jar''], dir: ''libs'')
compile "cz.msebera.android:httpclient:4.4.1.1"
compile group: ''cz.msebera.android'' , name: ''httpclient'', version: ''4.4.1.1''
a las dependencias de app / gradle. Espero que eso ayude
Hoy también tuve el mismo problema. Resolví con dos cambios en mi build.gradle.
1) android {
useLibrary ''org.apache.http.legacy''
}
2) compile ''org.apache.httpcomponents:httpcore:4.4.1''
compile ''org.apache.httpcomponents:httpclient:4.5''
Mi archivo build.gradle final:
apply plugin: ''com.android.application''
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.corouter"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro''
}
}
}
android {
useLibrary ''org.apache.http.legacy''
}
dependencies
{
compile fileTree(include: [''*.jar''], dir: ''libs'')
testCompile ''junit:junit:4.12''
compile ''com.android.support:appcompat-v7:23.2.0''
compile ''com.android.support:recyclerview-v7:23.0.+''
compile ''org.apache.httpcomponents:httpcore:4.4.1''
compile ''org.apache.httpcomponents:httpclient:4.5''
}
La clase anidada funcionaría:
private class NameValuePair {
private String mName;
private String mValue;
public NameValuePair(String name, String value) {
mName = name;
mValue = value;
}
public String getName() {
return mName;
}
public String getValue() {
return mValue;
}
};
Si desea utilizar NameValuePair o BasicNameValuePair en Android Studio con los últimos niveles de API. Luego sigue los pasos a continuación:
Abra el archivo build.gradle (Módulo) y copie estas dependencias:
implementation ''com.google.http-client:google-http-client-android:+'' implementation ''com.google.api-client:google-api-client-android:+'' implementation ''com.google.api-client:google-api-client-gson:+''
Copie
useLibrary ''org.apache.http.legacy''
debajo debuildToolsVersion
como:android { useLibrary ''org.apache.http.legacy''}
Eso es todo. Ahora solo sincroniza el archivo gradle.
Nota: En las dependencias, recomiendo usar la última versión de las bibliotecas en lugar del símbolo +.
NameValuePair
es parte del paquete org.apache
que se desestimó con Android 22
y se eliminó con Android M
, que es la versión en contra de usted que está compilando. Lo que es interesante es que ni la documentación de NameValuePair es accesible
Tuvo el mismo problema
Resuelto de la siguiente manera:
- Agregue esto en dependencias:
grupo de compilación: ''org.apache.httpcomponents'', nombre: ''httpclient-android'', versión: ''4.3.5.1''
- Agregue esto debajo de targetSdkVersion en defaultConfig
useLibrary ''org.apache.http.legacy''