2016-04-13 14 views
0

yürütme olsun, ben bu bağlantıyı içinde kod kullanılan bir click olayı içine bu kodu çalıştırmak istediğiniz http://developer.android.com/reference/java/net/HttpURLConnection.htmlexcute URL Hata basit bir url almak excute istediğiniz urlget

:

URL url = new URL("http://www.android.com/"); 
    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); 
    try { 
    InputStream in = new BufferedInputStream(urlConnection.getInputStream()); 
    readStream(in);} 
    finally { 
    urlConnection.disconnect(); 
    } 

Ben bu uzun hatası alıyorum uygulamayı çalıştırdığınızda:

E/AndroidRuntime: ÖLÜMCÜL EXCEPTION: ana Süreci: com.example.soma.smsserver1 PID: 20664 java.lang.IllegalStateException: android için yöntem yürütülemedi: onClick android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick (AppCompatViewInflater.java:289) , android.view.View.performClick (View.java: 5198) android.view.View adresinden ($) (Bu bağlantı, bir kısmı veya tamamı ingilizce olan içeriğe işaret edebilir.) (Http://support.microsoft.com/downloads/default.aspx?displaylang=tr) (http://support.microsoft.com/downloads/default.aspx?displaylang=tr) 95) android.os.Looper.loop (Looper.java:148) 'de (android.app.ActivityThread.main adresinde ) (ActivityThread.java:5417) java.lang.reflect.Method.invoke (Yerel Yöntem)adresinde ( )com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) Nedeni: java.lang. android.view.View.performClick de android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick (AppCompatViewInflater.java:284) de java.lang.reflect.Method.invoke (Yerli Metodu) de reflect.InvocationTargetException (View.java:5198) android.view.View adresinden ($) ViewClick.run (View.java:21147) at android.os.Handler.handleCallback (Handler.java:739) android.os adresinde .Handler.dispatchMessage (Handler.java:95) at android.os.Looper.loop (Looper.java:148) at android.app.ActivityThread.main (ActivityThread.java:5417) java.lang.reflect adresinde com.android.internal.os.ZygoteInit.main de com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) de .Method.invoke (Yerli Metodu) (ZygoteInit.java:616) Nedeni: java.net.InetAddress.lookupHostByName (InetAddress.java:431) de android.os.StrictMode $ AndroidBlockGuardPolicy.onNetwork (StrictMode.java:1273) de android.os.NetworkOnMainThreadException java.net.InetAddress.getAllByNameImpl (InetAddress.java:252) java.net.InetAddress.getAllByName adresindeki (InetAddress.java:215) (InetAddress.java:252) com.android.okhttp.internal.Network adresinde bulunan $ 1.resolveInetAddresses (Network.java: 29) com com.android.okhttp.internal.http.RouteSelector.nextProxy (RouteSelector.java:157) de com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress (RouteSelector.java:188) de . com.android.okhttp.internal adresinde com.android.okhttp.internal.http.HttpEngine.createNextConnection (HttpEngine.java:357) adresinde android.okhttp.internal.http.RouteSelector.next (RouteSelector.java:100) . http.HttpEngine.nextConnection (Htt pEngine.Java: com.android.okhttp.internal.http.HttpEngine.connect 340) (HttpEngine.java:330) com.android.okhttp.internal.http.HttpEngine.sendRequest de (HttpEngine.java:248) de com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute (HttpURLConnectionImpl.java:433) com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse (HttpURLConnectionImpl.java:384) com.android.okhttp en de . com.example.soma.smsserver1.MainActivity $ override.clickMe (MainActivity.java:28) adresinde com.example.soma.smsserver1.MainActivity $ geçersiz kılma. erişim $ gönderme (MainActivity.jav a) android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener de java.lang.reflect.Method.invoke (Yerli Metodu) de com.example.soma.smsserver1.MainActivity.clickMe (MainActivity.java:0) de android.view.View.performClick (View.java:5198) adresindeki android.view.View adresindeki. (AppCompatViewInflater.java:284) . android.view.View $ Üzerinde Performlish.run (View.java:21147) android.os.Handler android.os.Looper.loop (Looper.java:148) at android.app.Activit com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) (etkinlikte) .android.internal.os.ZygoteInit.main (ZygoteInit.java:616)

+0

[this] (http://stackoverflow.com/questions/9413625/android-android-os -networkonmainthreadexception) iş parçacığı. Muhtemelen ana (UI) iş parçacığı üzerinde isteği gerçekleştiriyorsunuz. Arka planda http isteği gerçekleştirmek için AsyncTask veya Volley kütüphanesini kullanmalısınız. – Mootpoint

cevap

0

android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1273)

ana iş parçacığı üzerinde ağ işleyemez

, bu Android'de güvenlik kısıtlama olduğunu , AsyncTask bir arka plan hizmeti aramayı sarma deneyin veya iş parçacığı.

Sen bu çağrı sırasında UI engellemek çünkü yasak olduğu MainThread, bir ağ isteği yapıyoruz Processes and Threads