Ich frage hier, da alle anderen Lösungen nicht funktioniert haben. Ich möchte eine Textdatei aus dem Internet lesen und diese Zeichenfolge in eine Textansicht einfügen lassen. Ich teste gerade im Moment und das einzige in der Textdatei ist der Wert "223". Meine App stürzt beim Start ab. Kann mir bitte jemand helfen?Lesen Sie die Textdatei von URL und Ausgabe an TextView
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.StringBuilderPrinter;
import android.widget.TextView;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class MainActivity extends AppCompatActivity {
private TextView textView;
private StringBuilder text = new StringBuilder();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BufferedReader reader = null;
try {
URL url = new URL("http://something.uk/pmt/status.txt");
reader = new BufferedReader(
new InputStreamReader(url.openStream()));
String str;
while ((str = reader.readLine()) != null) {
text.append(str);
text.append('\n');
}
} catch (IOException e) {
Toast.makeText(getApplicationContext(), "Error reading file.", Toast.LENGTH_LONG).show();
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (MalformedURLException e) {
}
catch (IOException e) {
}
}
TextView output = (TextView) findViewById(R.id.textView);
output.setText((CharSequence) text);
}
}
}
STACKTRACE:
Bitte senden Sie Ihre Fehler von Logcat –
Wie verwende ich Logcat? Ich habe versucht adb logcat im Terminal, aber es hat nicht funktioniert. – JB2000
Der Fehler ist ziemlich klar ... NetworkOnMainThread .... das heißt, Sie müssen den Code von try catch in einem anderen Thread ausführen. –