Käyttämällä AsyncTaskia (suositus)
tuo androidx.appcompat.app.AppCompatActivity; tuonti android.os.AsyncTask; tuonti android.os.Bundle; tuonti android.widget.TextView; tuonti java.io.BufferedReader; tuonti java.io.IOException; tuonti java.io.InputStreamReader; tuonti java.net.URL; public class MainActivity laajentaa AppCompatActivity { TextView textLoad, textMessage; final String strMessage = "https://sites.google.com/site/androidersite/text.txt"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textLoad = findViewById(R.id.textLoad); tekstiviesti = findViewById(R.id.textMessage); textLoad.setText("Ladataan…"); new MyTask().execute(); } yksityinen luokka MyTask laajentaa AsyncTask{ Merkkijono tulos; @Override protected Void doInBackground(Void… voids) { URL url; try { url = new URL(strMessage); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(url.openStream())); String StringBuffer; merkkijono = ""; while ((stringBuffer = puskuroituReader.readLine()) != null){ string = String.format("%s%s", merkkijono, stringBuffer); } puskuroituReader.close(); tulos = merkkijono; } catch (IOException e){ e.printStackTrace(); tulos = e.toString(); } return null; } @Override protected void onPostExecute(Void aVoid) { textMessage.setText(result); textLoad.setText("Valmis"); super.onPostExecute(aVoid); } } }Poista tiukka tila käytöstä (ei suositella)
if (android.os.Build.VERSION.SDK_INT > 9) { StrictMode.ThreadPolicy-käytäntö = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(käytäntö); }