Sto tentando di inviare un MultipartEntityBuilder
al mio server Rails. Tuttavia quando provo a costruirlo si blocca e mi dà l'erroreMultipartEntityBuilder per inviare immagini al server ferroviario
03-25 09:44:50.001 W/System.err﹕ java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: No static method create(Ljava/lang/String;[Lorg/apache/http/NameValuePair;)Lorg/apache/http/entity/ContentType; in class Lorg/apache/http/entity/ContentType; or its super classes (declaration of 'org.apache.http.entity.ContentType
HttpPost httpost = new HttpPost(url);
MultipartEntityBuilder entity = new MultipartEntityBuilder.create();
entity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
for(int index=0; index < nameValuePairs.size(); index++) {
ContentBody cb;
if(nameValuePairs.get(index).getName().equalsIgnoreCase("File")) {
File file = new File(nameValuePairs.get(index).getValue());
FileBody isb = new FileBody(file);
entity.addPart(nameValuePairs.get(index).getName(), isb);
} else {
// Normal string data
cb = new StringBody(nameValuePairs.get(index).getValue(),ContentType.TEXT_PLAIN);
entity.addPart(nameValuePairs.get(index).getName(),cb);
}
}
return entity.build();
Questo è il codice che sto usando e sto ancora ricevendo errori sulla costruzione del l'MultipartEntity si dirà l'errore.
In Android Studio, utilizzando il File | Struttura del progetto | Dipendenza | Pulsante +, non utilizzare la Dependecy della libreria che utilizza Maven che sta aggiungendo l'ultima versione di httmime. Invece scarica il 4.3.6 come @Matheus ha menzionato e aggiungilo come dipendenza da file. Il tuo build.gradle quindi avrà una riga come i file di compilazione ('libs/httpmime-4.3.6.jar' Ricorda che potresti aver bisogno di sincronizzare il tuo progetto con i file Gradle in Android Studio ancora – n00b
o semplicemente mettere 'compile 'org.apache .httpcomponents: httpmime: 4.3.6'' all'interno di 'dependencies' sul tuo file' build.gradle' – Matheus