SORU
7 Ocak 2010, PERŞEMBE


Sonrası Android SDK ile parçalı isteği

Oldukça basit olacağını düşündüm bir şey yapmaya çalışıyorum: Upload Android SDK ile bir sunucuya bir resim. Örnek bir sürü kod buldum ben

http://groups.google.com/group/android-developers/browse_thread/thread/f9e17bbaf50c5fc/46145fcacd450e48

http://linklens.blogspot.com/2009/06/android-multipart-upload.html

Ama ne benim için çalışıyor. Karşılaştığımı karışıklık gerçekten çok parçalı bir istek yapmak için gerekli olan budur. Bu nedirbasitçok parçalı bir upload (resim) Android için var mı?

Yardım veya tavsiye büyük mutluluk duyacağız!

CEVAP
7 Mart 2011, PAZARTESİ


29 Nisan 2014 güncelleme:

Cevabım biraz şu eski ve oldukça Retrofit gibi üst düzey kütüphane falan kullanmak istiyor sanırım.


Bu blog dayalı olarak aşağıdaki çözüm buldum: http://blog.tacticalnuclearstrike.com/2010/01/using-multipartentity-in-android-applications/

MultipartEntity çalıştırmak için ek kütüphaneler indirmek zorunda kalacak!

1) http://james.apache.org/download.cgi#Apache_Mime4J httpcomponents-client-4.1.zip İndirin ve projenize apache-mime4j-0.6.1.jar ekleyin.

2) http://hc.apache.org/downloads.cgi httpcomponents-client-4.1-bin.zip İndirin ve projenize httpclient-4.1.jar, httpcore-4.1.jar ve httpmime-4.1.jar ekleyin.

3) aşağıdaki kod örneği Kullanın.

private DefaultHttpClient mHttpClient;


public ServerCommunication() {
    HttpParams params = new BasicHttpParams();
    params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
    mHttpClient = new DefaultHttpClient(params);
}


public void uploadUserPhoto(File image) {

    try {

        HttpPost httppost = new HttpPost("some url");

        MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);  
        multipartEntity.addPart("Title", new StringBody("Title"));
        multipartEntity.addPart("Nick", new StringBody("Nick"));
        multipartEntity.addPart("Email", new StringBody("Email"));
        multipartEntity.addPart("Description", new StringBody(Settings.SHARE.TEXT));
        multipartEntity.addPart("Image", new FileBody(image));
        httppost.setEntity(multipartEntity);

        mHttpClient.execute(httppost, new PhotoUploadResponseHandler());

    } catch (Exception e) {
        Log.e(ServerCommunication.class.getName(), e.getLocalizedMessage(), e);
    }
}

private class PhotoUploadResponseHandler implements ResponseHandler<Object> {

    @Override
    public Object handleResponse(HttpResponse response)
            throws ClientProtocolException, IOException {

        HttpEntity r_entity = response.getEntity();
        String responseString = EntityUtils.toString(r_entity);
        Log.d("UPLOAD", responseString);

        return null;
    }

}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • finalcall07

    finalcall07

    11 NİSAN 2008
  • TheSalband Rai

    TheSalband R

    11 NİSAN 2011
  • Wii Minute Radio

    Wii Minute R

    31 Mayıs 2008