1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. MegaChroniX, 10.04.2012 #1
    MegaChroniX

    MegaChroniX Threadstarter Junior Mitglied

    Hallo
    ich habe eine Frage zu folgendem Codeausschnitt:

    Code:
       
    private InputStream getInputStreamFromUrl(String url) throws Exception
       {
          InputStream content = null;
          HttpClient httpclient = new DefaultHttpClient();
          HttpResponse response = httpclient.execute(new HttpGet(url));
          content = response.getEntity().getContent();
          return content;
       }
    Ich Entwickel unter der SDK Version 10 (2.3.3) und dort bekomme ich auch gültige InputStreams zurückgeliefert.

    Sobald ich jedoch ein Android4 Gerät benutze um die App zu testen steigt sie bei
    Code:
      HttpResponse response = httpclient.execute(new HttpGet(url));
    mit folgender Exception aus:

    04-10 19:59:53.782: W/System.err(611): android.os.NetworkOnMainThreadException
    04-10 19:59:53.782: W/System.err(611): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
    04-10 19:59:53.792: W/System.err(611): at java.net.InetAddress.lookupHostByName(InetAddress.java:391)
    04-10 19:59:53.792: W/System.err(611): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:242)
    04-10 19:59:53.792: W/System.err(611): at java.net.InetAddress.getAllByName(InetAddress.java:220)
    04-10 19:59:53.792: W/System.err(611): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:137)
    04-10 19:59:53.802: W/System.err(611): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
    04-10 19:59:53.802: W/System.err(611): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
    04-10 19:59:53.812: W/System.err(611): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
    04-10 19:59:53.812: W/System.err(611): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
    04-10 19:59:53.812: W/System.err(611): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
    04-10 19:59:53.822: W/System.err(611): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
    04-10 19:59:53.822: W/System.err(611): at de.facilityManager.xml.XMLManager.getInputStreamFromUrl(XMLManager.java:84)
    04-10 19:59:53.822: W/System.err(611): at de.facilityManager.xml.XMLManager.validateLogin(XMLManager.java:33)
    04-10 19:59:53.822: W/System.err(611): at de.facilityManager.LoginActivity.onClick(LoginActivity.java:48)
    04-10 19:59:53.822: W/System.err(611): at android.view.View.performClick(View.java:3511)
    04-10 19:59:53.833: W/System.err(611): at android.view.View$PerformClick.run(View.java:14105)
    04-10 19:59:53.843: W/System.err(611): at android.os.Handler.handleCallback(Handler.java:605)
    04-10 19:59:53.843: W/System.err(611): at android.os.Handler.dispatchMessage(Handler.java:92)
    04-10 19:59:53.843: W/System.err(611): at android.os.Looper.loop(Looper.java:137)
    04-10 19:59:53.843: W/System.err(611): at android.app.ActivityThread.main(ActivityThread.java:4424)
    04-10 19:59:53.843: W/System.err(611): at java.lang.reflect.Method.invokeNative(Native Method)
    04-10 19:59:53.852: W/System.err(611): at java.lang.reflect.Method.invoke(Method.java:511)
    04-10 19:59:53.852: W/System.err(611): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    04-10 19:59:53.852: W/System.err(611): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    04-10 19:59:53.862: W/System.err(611): at dalvik.system.NativeStart.main(Native Method)

    In der AndroidManifest.xml habe android.permission.INTERNET, daran liegt es nicht. :(

    Achja:
    Auf beim umstellen der SDK Version auf 14 oder 15 steigt er dort aus.



    Edit, hat sich erledigt...

    Ab Honeycomb dürfen keine Http Anfragen aus dem MainTread heraus passieren.

    Also einfach nen Tread drum legen und warten bis es fertig ist:D
     
    Zuletzt bearbeitet: 10.04.2012
  2. Lightning2010, 10.04.2012 #2
    Lightning2010

    Lightning2010 Junior Mitglied

    Sagt eigentlich schon alles aus.

    Du darfst seit 4.0 keine Netzwerkzugriffe in deinem Haupt-Thread machen, da alles was mit Netzwerken zu tun hat relativ leicht abstürzt.
    Du musst sie in einen eigenen Thread auslagern.

    Gruß
    -Lightning2010

    edit: Zu langsam
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[Offen] Android Layout funktioniert nicht Android App Entwicklung 08.09.2017
[ERLEDIGT] LL zur Laufzeit erstellen, Abstand zwischen LL und LL möglich ? Android App Entwicklung 06.09.2017
[OFFEN] App schließt nach Öffnen sofort Android App Entwicklung 04.09.2017
[ERLEDIGT] Um einen Zusatz in einem Programm unter Android zu machen Android App Entwicklung 22.08.2017
[GESCHLOSSEN] Random ListItem ausgeben funktioniert nicht mehr Android App Entwicklung 13.08.2017
[OFFEN] Bild per Intent an ListView übergeben und anzeigen Android App Entwicklung 13.08.2017
[OFFEN] SVN Commit in Android Studio funktioniert nicht mehr Android App Entwicklung 07.08.2017
[ERLEDIGT] Android Studio Erste App-Programmierung Android App Entwicklung 02.08.2017
[ERLEDIGT] Android O Neue Fonts in XML Methode Android App Entwicklung 27.07.2017
[ERLEDIGT] Daten/Code meiner App speichern? Android App Entwicklung 27.07.2017
Du betrachtest das Thema "Android 4 HttpResonce Exception" im Forum "Android App Entwicklung",