Próbuję wysłać MultipartEntityBuilder
do mojego serwera Rails. Jednak gdy próbuję zbudować się zawiesi i daje mi błądMultipartEntityBuilder do wysyłania zdjęć do serwera kolejowego
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();
Jest to kod używam i jestem wciąż otrzymuję błędy na budynku w MultipartEntity powiem to błąd.
W androidowym studio, używając pliku | Struktura projektu | Zależność | + przycisk, nie używaj Dependecy biblioteki, która używa Mavena, który dodaje najnowszy httmime. Zamiast tego donwload 4.3.6, o którym wspomniał już @Matheus, i dodaj go jako zależność plików. Twój build.gradle utworzy linię przypominającą pliki kompilacji ("libs/httpmime-4.3.6.jar" Pamiętaj, że być może będziesz musiał ponownie zsynchronizować swój projekt z plikami Gradle w Android Studio – n00b
Lub po prostu wstaw "kompilacja" org.apache .httpcomponents: httpmime: 4.3.6'' wewnątrz 'zależności' na twoim pliku' build.gradle' – Matheus