Hoe Android Os.NetworkOnMainThreadException te repareren?

Door AsyncTask te gebruiken (aanbevolen)

androidx.appcompat.app.AppCompatActivity importeren; importeer android.os.AsyncTask; importeer android.os.Bundel; import android.widget.TextView; java.io.BufferedReader importeren; java.io.IOException importeren; java.io.InputStreamReader importeren; java.net.URL importeren; public class MainActivity breidt AppCompatActivity uit { TextView textLoad, textMessage; laatste tekenreeks strMessage = "https://sites.google.com/site/androidersite/text.txt"; @Override beschermde leegte onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textLoad = findViewById(R.id.textLoad); textMessage = findViewById(R.id.textMessage); textLoad.setText(“Laden…”); nieuwe MyTask().execute(); } privéklasse MyTask breidt AsyncTask uit{ Stringresultaat; @Override beschermde Void doInBackground(Void… voids) { URL url; probeer { url = nieuwe URL(strMessage); BufferedReader bufferedReader = nieuwe BufferedReader(nieuwe InputStreamReader(url.openStream())); String stringBuffer; Tekenreeks tekenreeks = ""; while ((stringBuffer = bufferedReader.readLine()) != null){ string = String.format(“%s%s”, string, stringBuffer); } gebufferdeReader.close(); resultaat = tekenreeks; } vangst (IOException e){ e.printStackTrace(); resultaat = e.toString(); } geef null terug; } @Override beschermde leegte onPostExecute(Void aVoid) { textMessage.setText(resultaat); textLoad.setText(“Klaar”); super.onPostExecute(aVoid); } } }

Strikte modus uitschakelen (niet aanbevolen)

if (android.os.Build.VERSION.SDK_INT > 9) { StrictMode.ThreadPolicy beleidsmaatregelen = nieuwe StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(beleidsmaatregelen); }

Laatst bijgewerkt: 11 juni 2023

stip 1
Een verzoek?

Ik heb zoveel moeite gestoken in het schrijven van deze blogpost om jou van waarde te kunnen zijn. Het zal erg nuttig voor mij zijn, als je overweegt het te delen op sociale media of met je vrienden/familie. DELEN IS ️

23 gedachten over "Hoe Android Os.NetworkOnMainThreadException te repareren?"

Laat een bericht achter

Dit artikel bewaren voor later? Klik op het hartje rechtsonder om op te slaan in je eigen artikelenbox!