Я хочу запустить исполняемый файл, такой как ping (или любой другой, который дает непрерывный вывод), прочитать его вывод и распечатать его в моем графическом интерфейсе.
Я использовал следующий метод для запуска своих команд:
command=Runtime.getRuntime().exec("ping www.google.com");
и я читаю вывод следующим образом:
BufferedReader in = new BufferedReader(new InputStreamReader(command.getInputStream()));
while ((line = in.readLine()) != null) {
System.out.println(line+"\n");
}
это работает нормально, хотя вывод на дисплей довольно поздний по сравнению с временем, которое я выполняю ./excutable с помощью оболочки adb -d.
Как я хочу, чтобы этот вывод (строка) в графическом интерфейсе, поэтому я делаю TextView и добавляю вывод (строку) в нем как:
txtview=(TextView)findViewById(R.id.textview);
while ((line = in.readLine()) != null) {
txtview.append(line+"\n");
System.out.println(line+"\n");
}
но это приводит к сбою моего приложения.
пожалуйста, скажите мне, как решить эту проблему.