1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Timeout Fehler unter Android 4.0.1

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Gibbsnich, 21.12.2011.

  1. Gibbsnich, 21.12.2011 #1
    Gibbsnich

    Gibbsnich Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    56
    Erhaltene Danke:
    0
    Registriert seit:
    22.06.2010
    Hallo,

    meine App lief bisher auf unterschieldichen Plattformen und Versionen problemlos.
    Mit Android 4.0.1 allerdings kann ich keine Bilder mehr von unserem Server laden, sondern erhalte immer ein Timeout.
    Das hat definitiv mit dem Betriebssystem zu tun, denn ich kann den Fehler auf einem entsprechenden Emulator und einem externen Handy nachstellen.

    Der Timeout kommt beim Aufruf von der Methode getResponseCode in der Klasse HttpURLConnection.

    Hier der Code:
    Code:
            if (httpVerbindung != null) {
                InputStream in  = null;
                try {
                    if (httpVerbindung.getResponseCode() == HttpURLConnection.HTTP_OK) {
                        getCookieData(httpVerbindung);
                        in = httpVerbindung.getInputStream();
                        int length = httpVerbindung.getContentLength();
                        if (length > 0) {
                            respData = new byte[length];
                            int total = 0;
                            while (total < length) {
                                total += in.read(respData, total, length - total);
                            }
                        }
                        else  {
                            ByteArrayOutputStream bytestream = new ByteArrayOutputStream();
                            int ch;
                            while ((ch = in.read()) != -1) {
                                bytestream.write(ch);
                            }
                            respData = bytestream.toByteArray();
                            bytestream.close();
                        }
                        in.close();
                    }
                } catch (IOException e) {
                    Protokoll.logError("downloadImage", String.format(BIS_Common.bisActivity.getString(R.string.exIOError, e.toString())));
                }
                finally {
                    if (in != null){
                        try {
                            in.close();
                        } catch (IOException e) {
                            Protokoll.logError("downloadImage", String.format(BIS_Common.bisActivity.getString(R.string.exInCloseError, e.toString())));
                        }
                    }
                    if (httpVerbindung != null) {
                        httpVerbindung.disconnect();
                    }
                }
            }
    
    Weiß jemand, was die geändert haben und, wichtiger noch, wie ich aus dieser Nummer wieder rauskomme?

    Heureka!
    Gelöst: HttpURLConnection-Methode setDoOutput wurde mit true aufgerufen, obwohl ich kar keinen Body gesendet habe. Das macht wohl erst ab Version 4 etwas aus...:bored:
     
    Zuletzt bearbeitet: 21.12.2011

Diese Seite empfehlen