This question has already been answered:

Please help me with the first test project .

Files: YandexTranslate.java and MainActivity.java

Error NetworkOnMainThreadException crashes. As I understand it, it usually happens when accessing the Internet in the main. I took it to a separate class, why do I get this error? How to fix?

From the console:

09-07 13: 46: 04.796 25701-25701 / info.stekolschikov.ytranslate E / AndroidRuntime: FATAL EXCEPTION: main Process: info.stekolschikov.ytranslate, PID: 25701 android.os.NetworkOnMainThreadException at android.os.StrictMode $ AndroidBRA onNetwork (StrictMode.java:1166) at java.net.InetAddress.lookupHostByName (InetAddress.java:418) at java.net.InetAddress.getAllByNameImpl (InetAddress.java:252) at java.net.InetAddress.getAllByName (InetAddress.getAllByName (InetAddress.getAllByName) : 215) at com. .http.RouteSelector.next (RouteSelector.java:124) at com.android.okhttp.internal.http.HttpEngine.connect (HttpEngine.java:272) at com.android.okhttp.internal.http.HttpEngine.end repair, hpp.Http.Engine.end repair, open.http. .java: 211) at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute (HttpURLConnectionImpl.javaι82) at com.android.okhttp.internal.http. HttpURLConnectionImpl.connect (HttpURLConnectionImpl.java:106) at com.pand.okhttp.internal.http.HttpURLConnectionImpl.getHutputStream (s) rahhhhhhhmhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhqhhhhh? 218) at com.android.okhttp. onClick (MainActivity.java:40) at android.view.View.performClick (View.java:4851) at android.view.View $ PerformClick.run (View.java:20016) at android.os.Handler.handleCallback (Handler .java: 739) at android.os.Handler.dispatchMessage (Handler.java:95) at android.os.Looper.loop (Looper.java:135) at android.app.ActivityThread.main (ActivityThread.java:5429) at java.lang.reflect.Method.invoke (Native Method) at java.lang.reflect.Method.invoke (Method.java.7372) at com.android.interna l.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:947) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:742)

Reported as a duplicate by pavlofff android 7 Sep '16 at 11:45 .

A similar question was asked earlier and an answer has already been received. If the answers provided are not exhaustive, please ask a new question .

1 answer 1

A simple example:

1 Create a class (in the example nested)

 private class MyTextLoader extends AsyncTask<String, Void, Void> { @Override protected void onPreExecute() { super.onPreExecute(); //запустить индикацию загрузки } @Override protected Void doInBackground(String... params) { return null; //params[0] - Ваша ссылка //Получение данных } @Override protected void onPostExecute(Void aVoid) { super.onPostExecute(aVoid); //завершить индикацию загрузки //Устанавливаете необходимый текст } } 

2 Run when necessary:

 MyTextLoader textLoader = new MyTextLoader(); textLoader.execute("Ссылка");