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
Bluetooth Tethering ON / OFF Android App Entwicklung 04.04.2019
Wie beobachtet man LiveData im Repository vom ViewModel aus? (room, Android architecture components) Android App Entwicklung 04.04.2019
Kein Menübutton unter Android 8? Android App Entwicklung 13.03.2019
Android Studio Gradle Problem Android App Entwicklung 27.02.2019
Datenbank mit Kundendaten Android App Entwicklung 13.02.2019
Android playstore pusblishing: no supported devices Android App Entwicklung 11.02.2019
<a href="tel: ..." & <a href="mailto: ..." in Android Sudio webview Android App Entwicklung 29.01.2019
Theme Änderung - Android Studio Android App Entwicklung 25.01.2019
Android lifecycle: Onsaveinstancestate bei TCP Socket Server Android App Entwicklung 10.01.2019
App funktioniert unter Android 7 und höher aber nicht drunter, ich verzweifel Android App Entwicklung 07.01.2019
Du betrachtest das Thema "Android 4 HttpResonce Exception" im Forum "Android App Entwicklung",
  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.