L'app si blocca in modo anomalo
Salve ragazzi, sono ultra novizio di Android e sto facendo un'applicazione per fare pratica.
Utilizzo Android Studio e ho cercato di integrare l'app con la lettura di un file sul web.
Ho seguito diversi tutorial, esempi ecc ... ma continua a darmi l'errore del titolo appena l'app si apre (anzi, tenta di aprirsi )
Sapete darmi una mano?
Questo è il codice che ho aggiunto per leggere il file:
Quote:
String str1 = getOnline("http://www.... /version.txt");
che chiama:
Quote:
public String getOnline(String urlString) {
URL txtUrl;
try {
txtUrl = new URL(urlString);
BufferedReader bufferReader = new BufferedReader(new InputStreamReader(txtUrl.openStream()));
String StringBuffer;
String StringTxt = "";
while ((StringBuffer = bufferReader.readLine()) != null) {
StringTxt += StringBuffer;
}
bufferReader.close();
return StringTxt;
} catch (IOException e){
e.printStackTrace();
}
return null;
}
il logcat:
Quote:
12-30 17:40:42.660 25445-25445/dlfmania.dlfmaniaone_touch E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: dlfmania.dlfmaniaone_touch, PID: 25445
java.lang.RuntimeException: Unable to start activity ComponentInfo{dlfmania.dlfmaniaone_touch/dlfmania.dlfmaniaone_touch.MainActivity}: android.os.NetworkOnMainThreadException
at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2212)
at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:2271)
at android.app.ActivityThread.access$800(ActivityThre ad.java:144)
at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1205)
at android.os.Handler.dispatchMessage(Handler.java:10 2)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.jav a:5146)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:732)
at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:566)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNe twork(StrictMode.java:1145)
at java.net.InetAddress.lookupHostByName(InetAddress. java:385)
at java.net.InetAddress.getAllByNameImpl(InetAddress. java:236)
at java.net.InetAddress.getAllByName(InetAddress.java :214)
at com.android.okhttp.internal.Dns$1.getAllByName(Dns .java:28)
at com.android.okhttp.internal.http.RouteSelector.res etNextInetSocketAddress(RouteSelector.java:216)
at com.android.okhttp.internal.http.RouteSelector.nex t(RouteSelector.java:122)
at com.android.okhttp.internal.http.HttpEngine.connec t(HttpEngine.java:292)
at com.android.okhttp.internal.http.HttpEngine.sendSo cketRequest(HttpEngine.java:255)
at com.android.okhttp.internal.http.HttpEngine.sendRe quest(HttpEngine.java:206)
at com.android.okhttp.internal.http.HttpURLConnection Impl.execute(HttpURLConnectionImpl.java:345)
at com.android.okhttp.internal.http.HttpURLConnection Impl.getResponse(HttpURLConnectionImpl.java:296)
at com.android.okhttp.internal.http.HttpURLConnection Impl.getInputStream(HttpURLConnectionImpl.java:179 )
at java.net.URL.openStream(URL.java:470)
at dlfmania.dlfmaniaone_touch.MainActivity.getOnline( MainActivity.java:236)
at dlfmania.dlfmaniaone_touch.MainActivity.onCreate(M ainActivity.java:46)
at android.app.Activity.performCreate(Activity.java:5 231)
at android.app.Instrumentation.callActivityOnCreate(I nstrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2169)
at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:2271)
at android.app.ActivityThread.access$800(ActivityThre ad.java:144)
at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1205)
at android.os.Handler.dispatchMessage(Handler.java:10 2)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.jav a:5146)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:732)
at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:566)
at dalvik.system.NativeStart.main(Native Method)
12-30 17:40:45.760 25445-25445/dlfmania.dlfmaniaone_touch I/Process﹕ Sending signal. PID: 25445 SIG: 9
dove è che sbaglio?