2014-04-07 12 views
5

W httpPost ustawiamyEntity (new StringEntity). Ale teraz używam siatkówki. Chciałbym użyć tej metody setEntity w siatkówce. Jak mogę to zrobić?Jak korzystać z setEntity w systemie Android Volley?

Chciałbym go używać z takimi funkcjami jak Twitter;

HttpPost httpPost = new HttpPost(TwitterTokenURL); 
httpPost.setHeader("Authorization", "Basic " + base64Encoded); 
httpPost.setHeader("Content-Type", "application/x-www-form- urlencoded;charset=UTF-8"); 
httpPost.setEntity(new StringEntity("grant_type=client_credentials")); 
+0

prawdopodobnie w metodzie zestaw nagłówków, trzeba zastąpić Zażądaj obiektu do zrobienia własne rzeczy volley – CQM

+0

Witam, próbuję zrobić to samo, trzeba ustawić StringEntity. Czy mógłbyś mi pomóc w tym .. jak to rozwiązałeś. –

Odpowiedz

3

@Override getBodyContentType() i getBody() w wyprostowanej Request<T> klasa używając coś podobnego do poniższego:

@Override 
public String getBodyContentType() { 
    return entity.getContentType().getValue(); 
} 

@Override 
public byte[] getBody() throws AuthFailureError { 
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); 
    try { 
     entity.writeTo(outputStream); 
    } catch (IOException e) { 
     VolleyLog.e("IOException @ " + getClass().getSimpleName()); 
    } 
    return outputStream.toByteArray(); 
} 
+0

Ta odpowiedź pomogła mi. Jednak nie jest kompletny. Obiekt może być obiektem ByteArrayEntity. Ten link zawiera pełniejszą próbkę: http://stackoverflow.com/questions/16797468/how-to-send-a-multipart-form-data-post-in-android-with-volley – Ray

Powiązane problemy